Don't allow prisoners to be jailed into the same cell as someone else.

This will prevent overriding inventories in cell chests. When we tell
them the destination cell already has a prisoner in it, we try to find
the first empty cell in that jail but if all the jail's cells are full
then we tell them that as well.
Add some documentation to the prepareJail method.
Lots of progress was made towards jailing the player.

We now handle the jailing of the players and even store their inventory.
Unjailing hasn't been tested at all yet, so that's still to do.