GetFreeDockingPort must have a ship passed in, assets if it doesn't.
SwapDockedShipsPort gets the ship from the oldPort parameter, must also be valid.