Models optimized

- Remove SetGame, SetPlayer. SetCard, all the methods were moved to
correct class (GameDeck, Game, GamePool)
- Add new class CardLibrary and CardCollection for a full card library
and a player's collection
- In this case, to generate random deck, add an inheritance for GameDeck
to the CardLibrary
- Add some opposite reference to Game <->Game Pool, etc.
- Add a data type - HashTable AllCards as one attribute of CardLibrary,
to load card library from database
- Add some new enumerations
- The starter of the game is AutoDeckBuilder, however, it is quite
simple now