Fixes airlock radio control, cleanup lock/unlock

Airlock radio control no longer allows airlocks to do things not
normally possible.

Locking and unlocking airlocks is now done through lock() and unlock()
procs.
Reworks shuttles to be more extensible

Kudos to Zuhayr for laying the groundwork for this.