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
Pipe fixes

- Cleans up silent pipe deleting (now creates a loose pipe item where the pipe section was)
- Allows pipe painters to paint disconnected pipes
- Removes OOC message from IC feedback
Atmos Overhaul - Phase 1

- Implements omni device core framework
- Adds omni gas mixer
Added omni filters

- Added omni gas filter
- Cleaned up some code in mixer.dm and omni_base.dm
Add omni devices to dispenser

- Added omni filters and mixers to pipe dispenser
- Added construction code
- A couple more cosmetic tweaks
Uncommented gateway spawn point.
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.