Added untested implementation of Generator package
Refactor: extracted ChoiceTree from Generator
Refactor: Generator takes ChoiceTree as ctor argument
Refactor: added ChoiceTree::get_max_depth()
Refactor: ChoiceTree::get(i) accepts ascending indices
Refactor: ChoiceTree::get() returns with back()

instead of at(current)
Fix: choices/states was initialized to max size
Refactor: Split ChoiceTree interface and implementation
Test: minimax works for some generic tree
Fix: Generator::get_alpha beta no longer inf loop
Fix: Generator fixed invariant
Disabled --generate by putting it in comments
Fix: changed score values that didn't match the course example
Fixed Generator; it now passes test. And...

Generator::minimax() now loops instead of recursing

alpha_beta value stored in ChoiceNode rather than in alpha_betas

Gave ChoiceTree easier interface
Test checks for pruned count too
Refactor: Removed todo comment
TEST::ChoiceTree correctly uses max depth in is_leaf
Refactor: Extracted MinimaxTests into separate src file

And extracted assert_equals into util.h
Refactor: Added comment
Refactor: removed unused TEST::ChoiceTree::reset_last_choice