Improves handling of invalid states
Adds a proper constructor for embedded_programs
Updates the docking embedded_controller

Now uses the new docking controller as well as a new airlock controller
specifically for docking port airlocks.