Fix: dealing with rounding error was broken in PlayerState
Optimization: real alpha = max(current_score, stored alpha)

Take advantage of the fact that score only increases
Generator search depth arg to --generate instead of hardcoded
Print max choices of search at start/continue of generator
Only print completion rate when the generator stops

, not when it starts
Refactor: removed ChoiceNode::player
Refactor: Extracted UTIL::print_path
Refactor: ChoiceTree::parent returns uint instead of int
Changed Generator::get_best_path to get_best_player_paths
Test: Generator::get_best_player_paths
Fix: Generator didn't track paths correctly