I added in logic to remove duplicate flag parameters in response to Ticket #231.
http://trac.research.cc.gatech.edu/fastlab/ticket/231
This day is off to a great start
Remove unnecessary debugging output
Fix DET so it actually works.  A few things here and there needed to be changed.
Disable volume regularization for the main executable for now.
Remove debug output which is unnecessary now.
Rename various parts of NMF to different names which line up more with the style
guide; clean up main executable documentation and allow the choice between
different update rules.
The API call for Apply() has changed slightly.
Allow objective tolerance option.
Fix tabs into spaces.
Wrote all the NMF test case and updated Alternating Least Squares method with pseudo-inverse function'
Restructure trees entirely.  Each tree will have its own SingleTreeTraverser and
DualTreeTraverser, and each tree type should be kept in its own directory (for
organizational purposes).  The previous traversers in traversers/ have been
adapted to either the BinarySpaceTree or CoverTree and moved there.
Add a few files we forgot, including the convenience include files which include
both trees and traversers.
Change include files and APIs to use the new tree traverser setup.
Modify tests for new include locations.
Minor cleanup of NMF code; I think the residue should be displayed in
non-debugging mode (optionally with -v) so I switched to Log::Info.  Comment on
the change to pinv() then rewrite RandomAcolInitialization a little bit to avoid
allocating memory unnecessarily.  Unfortunately insert_cols() is a little slow
because it allocates more memory and memcpy()s.
Add Score() and Rescore(), which will be used for a "new" type of tree traversal
which should be faster.
Refactor BinarySpaceTree traversal to use Score() and Rescore() and thereby
avoid unnecessary repeated calculations (so I hope).
Remove two now unnecessary files.
Oops, those files had to be removed from the CMake configuration too.