Bay airlock and docking controllers

Porting bay's airlock controller rewrite and docking controller made by
Loganbacca and mwerezak respectively. This commit shouldn't break
anything important.