Docking and Spawning of ships in correct bay sizes

# Description:
Update the docking to fix a bug with spawning of ships in docking bays that they don't fit inside.

You now have to pass the ship/player into the `GetFreeDockingPort` method to find if there's a bay free.
This will also move a players ship to an appropriately sized bay if they've bought a new one larger than the bay they're currently in.

# Testing it:
I modified the `big_crappy.lua` and `hoop.lua` by changing the line:
* `{0, 500, {1,2,3,4}},`

to read:
* `{0, 10, {1,2}},`
* `{10, 500, {3,4}},`

So that they'd have trouble fitting and then bought one of the two biggest ships to test it, DSMiner or Nerodia.