Simplify player/AI addition

- Split the add player function into two specialised versions for AI/humans, allowing the removal of lots of annoying checks.
- Make the sending of initial game state to a newly-joined user implicit in the case they win a slot (eliminates one roundtrip from player to host on join)