Adds shuttle controller

Moves all ferry shuttle processing into one place: the new shuttle
controller.

Also cleans up the emergency shuttle controller a bit more and fixes
multi-shuttle cooldown.
Replaces the emergency shuttle control console

Replaces the old emergency shuttle control console with a nice new
NanoUI one. Improves the NanoUI for the docking controllers.
Fixes escape shuttle not transitioning
Adds direction arg for area/move_contents_to()

Attempts to fix shuttle corner transition effect
Fixes bad ETAs appearing on status displays
Merge remote-tracking branch 'upstream/dev' into emergency-shuttle

Conflicts:
	code/setup.dm
Merge remote-tracking branch 'upstream/dev' into emergency-shuttle
Fixes #5351

Multi-shuttle origin was being assigned a path, not an actual area.
Fixes missing announcements, bad returned() check

Also fixes some bad grammar in the shuttle authorization announcements, and reduces the number of authorizations required to 2. 3 seemed a bit high.
Fixes airlocks being stuck if they run out of air
Adds multi-airlock docking controller
Fix for long_jumps never leaving transition area

The previous behaviour of move() called without arguments assumed a
short_jump, which meant that the wrong origin area would be used.
Adds escape shuttle docking controllers
Improves simple docking controller UI
Improves multi-airlock docking UI
Adds escape pod docking controller type

Escape pods now no longer launch automatically during regular crew
transfers. However they can be set to launch during a regular crew
transfer by emagging the escape pod controller.

Also fixes emergency shuttle arrival announcement having the wrong ETD.
Adds escape pod docking controllers
Fixes shuttle consoles not checking access

Generalizes machine access.
Merge remote-tracking branch 'upstream/dev' into emergency-shuttle

Conflicts:
	code/setup.dm
Merge pull request #5352 from mwerezak/emergency-shuttle

Emergency shuttle Fixes + Docking Controllers