New test case, new game logic for initialization

- Added complex game set up test
- Added logic to remove research projects from the available list if
they have already been completed and only one is allowed in the game
Merge branch 'josh's-branch'
Added test for game state

 - Added test for a complex game start up state with multiple tiers of
activity
 - Added logic to support removing obsolete units from the available
units part of the game state
Game State Extension, Functions Introduction

- Expanded GameState to include a BuildQueueItem, the item that the
player is currently working on building
- Introduced functions for monitoring game functions like production,
opponent strength
- Added test cases for Functions and build queue addition
Introduced SkyFlyerGame & Purchasing

 - Introduced a verbose SkyFlyerGame object
 - Introduced the buy function for a game
 - Added tests to initializing a game
 - Added testing to buy a simple unit available to the player
Merge branch 'josh's-branch'