Changed the structure of the Player classes

The player classes now generate/process their own packets;
this came from realizing that I was writing getters/setters
for every single element in Player, and decided that they
should be managing their elements themselves.