Add support for player joining/movement

This moves some of the Client classes to Core, and it adds support to
allow players to join servers and move around.