Docking overrides now have a clear purpose

Originally the purpose of the docking override was to allow the shuttle
to move even if it couldn't undock properly (e.g. the doors were stuck
open), however it makes more sense just to have the shuttle take care of
that. This commit now makes the behaviour of the docking overrides line
up with it's new purpose.

Conflicts:
	code/game/machinery/embedded_controller/docking_program.dm
Shuttle console refactoring

Also adjusted the way undocking signals were used.

Conflicts:
	code/game/machinery/doors/airlock_control.dm
	code/game/machinery/embedded_controller/docking_program.dm
	code/modules/shuttles/shuttle.dm
Adjusts how undocking signals are used

Now both server and client will to undock concurrently. It looks much
more natural.

Conflicts:
	code/game/machinery/embedded_controller/docking_program.dm
	code/game/machinery/embedded_controller/simple_docking_controller.dm
Adds mining shuttle docking controllers

Conflicts:
	maps/tgstation2.dmm
Streamlined docking code

Server and client now have more consistent responsibilities.
Ferry shuttles will always be forced undocked when moved, even if moved
by admin magic.

Conflicts:
	code/game/machinery/embedded_controller/docking_program.dm
Adds engineering shuttle docking controllers

Also fixed bad req_access_txt. Was accidentally using req_access_txt
instead of req_one_access_txt. Fixed virology maint not having any
access codes set.

Conflicts:
	maps/tgstation2.dmm
Adds centcom and admin shuttle docking controllers

Conflicts:
	maps/tgstation2.dmm
Adds docking control to ERT shuttle

Also adjusts the location of the centcom shuttle docking controller.

Conflicts:
	code/modules/shuttles/shuttle.dm
	maps/tgstation2.dmm