Use best clustering instead of fixed clustering
Separate solver and test binaries
Fix laser model error; this nullifies previous tests for non-hierarchical obs
Print floorMap on each move
Updates

* Enable using different strategies to cluster obs. Use gflags (currently not
  working)
* Setup test infra to compare between strategies. Add reset options to solver
  and world to avoid needless recomputation when only strategies need to
  change.
* Use particleResamplingSeed to sample initial states
Remove unused.cpp and dependence on old Tester.h
Fix solver reset bug
Replace shared_ptr with weak_ptr

ObsNodes should have a weak reference to their parents. This removes a memory
leak.
Add fixed strategy; Remove unnecessary seeds
Fix bug in fixed strategy; Fix bug in model
Updates
* Remove gflags
* Plug memory leak
* ObsNode now owns BeliefNode
* Fix backup bug
* Change floormap input format
Add option to lazy evaluate upper bound
Add python script to analyze results
Read config from stdin; Split big and small config files
Implement pruning; Fix bugs

* Bug 1: If rnsPos >= maxSimulationDepth, both lower and upper bounds should
  be 0. Before this commit, the lower bound was checking if sameLoc == true,
  and returning a non-0 value if it was.
* Bug 2: rnsPos was being used as depth in trial(). The depth of the node
  wrt the root of the current search tree should be used in computing the
  excess uncertainty, and rnsPos does not provide that local info.
Precompute noise; Change trial termination criteria

* Precompute a table of normally distributed values in Solver, and pass to
  Model as needed. Overload Model::step() to make it more readable.
* Before this commit, we asserted that each trial should return atleast one
  new node. This may not be true, for e.g. if an unexplored action at the
  root becomes the best action at some point, and its children (fringe nodes)
  already satisfy the excess uncertainty criteria, the root will satisfy it
  too and the trial will finish without any new nodes. To deal with this,
  change the assert to allow numNodesAdded to be 0 as long as the uncertainty
  criteria at the root is satisfied immediately after the trial.
Fix backup bug

* The backup was being done only for aStar, and also using the same obs map
  as upper bound for lower bound. This has been fixed.
Add testing with random maps
Implement no-laser model
Separate test files/binaries

Determining pruning constant is a separate test from comparing values
between strategies.