Overhauled data structure for Player and PlayerRecord classes.

- Renamed PlayerRecord to Record and made it the superclass of all
  Players
- Changed the map structure of Record to allow the less restrictive Object
  as the value type
- Added getInteger(), getDouble(), getString(), getBoolean() to simplify
  typecasting of map values
- Removed copy() method from Record
- Updated all classes affected by these changes