Lots of changes here.
- First, added a whole sample package to show in a Proof-of-Concept sort of way, that this framework can be used in a relatively simple way. Also helped me work out what kinks were in the framework.
- Added critical references to the classes that contain other classes. An example: Added the Gameable reference as a requirement for constructing a Ruleable or Goalable. this reinforces the framework's design pattern, and also allows certain conveniences.
- Added a Stat Enum that is used for Wins/Losses. This is for performance, since enums are more performant than strings.
- Created the default implementation for the Participatable interface.
- Created the abstract class and default implementation for the Teamable interface.
- Created the class ArenaShift for regulation/implementation of Environmental changing
- Added Convert utility class for future ease-of-use. One such example of the class is to turn players into participants
- Added methods to the Managable interface defining registering and unregistering arenas and games.
- Changed AbstractInformable into a Scala class.
- Converted several other classes into Scala classes