Squashes 3 commits:
Adds a controller for single door based docks
Adds a docking controller to the research shuttle
Adds override control to airlock dock nano-ui
Squashed 10 commits:
Adds simple docking controllers
Adds docking_controllers.dm
Moves docking handshake code into its own type
Keeps docking code separate from the code for messing with airlocks and
doors.
Improves handling of invalid states
Adds docking controller to research shuttle dock
Also adds the start of a nano-ui template.
Resetting the dock controller resets the override
Adds debug verbs
Adds support for overriding docking checks
Less confusing name for the docking program