Added a repeatable history to each game using HearthActionBoardPair.

* Added some utility action Verbs in order to repeat everything properly
* Fix a few index bugs
* Added a bunch of tests to verify that the histories being generated are accurate
Added RNG tests for basic child creation and subsequently fixed a bunch of issues.
Remove waiting player mana
Add RNG repeatable and comparison tests
Move RNG action creation into RandomEffectNode
Add breadth tests for CardDrawNodes.
Turn dangerous method private
Remove default values from JSON output
Reduce parameters on HearthAction for actions that don't need all of them
Add full game history support for RNG nodes. This change reenables depth first search looking past RNG nodes.
Add DRAW_CARDS action and relevant repeatable game history test.
Remove some default values from toJSON output
Card's deepCopy now tries to create a copy using the object's original constructor. This enables use to trim out some of the extra deepCopy overrides and doesn't break the ImplementedCard patterns used elsewhere.
Added bug hunter test for game histories. This generates a game with random cards and tries to run through the whole thing twice to make sure histories match up. It isn't currently passing for various reasons which need to be fixed.
Add missing card classes
Remove unused import
Merge pull request #46 from MrHen/feature/game_history

Feature/game history