It is hard to work with / maintain the placement functions when they have various different return types.
This refactors these functions, so that they all return the same type.
+ Some general validation
One *could* make a `PlayerPlacement` class and just pass that object around, but that would be an even bigger pain to change all the maps, so I opted for just the validation function.