New Feature to support Prepared Games (ie: a predetermined deck).

i) Added PreparedGameConfig + Loader which uses a yaml file (like debug:draw) to specify order of tiles to play
ii) Game can has method isPreparedGame - and getPreparedTiles method
iii) CreateGamePhase now determineDrawPhase either DrawPhase or PreparedDrawPhase
iv) DrawPhase has been refactored so PreparedDrawPhase can extend
v) PreparedDrawPhase checks the PreparedGameConfig and managed list of tiles left to play.  The PreparedDrawPhase always returns the first tile from the list.
vi) Altered Snapshot to include remaining predetermined files; thus a game can be saved sent to someone else and loaded to complete puzzle.
vii) Added a Prepared count to the ControlPanel so that every player is aware the Game is a prepared one.  It also counts down during play.
Removed an unnecessary null check
Merge pull request #2 from joelpurra/prepared-games

Prepared games