Refactored the node allocation mechanism out of the MCTSTree into its own class
Fixed a couple of minor issues with the sampling stats:
1) Allow for std dev of preciesly 0
2) Avoid overflow and rounding issues with very large numbers of samples
Refactored to hide the tree inside the searcher so that higher layers need not be aware of multiple trees for factored games.  Also broke out pooled node allocation into a seperate class to facilitate usage of a common pool
Corrected some stats
Fixed a potential bug when complete nodes are retained
Turned off default retention of completed nodes
Operational factorized play in C4 simultaneous
A little further refectoring to allow easy removal of uneccessary tree-level synchronization
Reverted an uneccessary change that was an illusary bug-fix!
Disabled factoring of games where it is neccessary to make a choice between factors each turn (for now)
Finished the merge with the heuristic changes
Fixed bug with asymmetric tree growth
Fixed bug with mark-and-sweep algorithm for trimming to new root