STYLE: Remove end of line spaces.
BUG: Assert statment error was causing segfault in debug builds.
BUG: improper string to char * assignment.

std::string path=(/tmp);
const char * charpath = path.c_str();  // NOTE: VERY DANGEROUS!
path=/var/tmp;                         // NOTE: charpath is now invalid!

This was causing all _Compare tests to fail.  After this adjustment, all
tests are passing.
ENH: Remove old CMakeLists-old.txt file.
ENH: Organize tree with common code directory

Common code in various directories were not
being consistently maintained.  Slight divergence
had bug fixes/enhancements in only a few of the
replicated code bases.
STYLE: Force consistent formatting

The vtkReader.cxx vtkReader.h files are in 3 different locations
in the ukftractography dirctory.  All locations need to be fixed
but the formatting of each file is inconsistent.  By
applying a fixed consistent formatting (ITK style) it is easier
to ensure that the files are truely consistent and redundancies can
be removed.

This step will ease the comparision to code that can be moved into
the common static library directory.
COMP: All building for superbuild other than Slicer

When building ukf from within BRAINS, some paths were missing.
STYLE: Refactor common code in UKFCommonLib

Redundant naming of files and classes within same
named files did not have the same code.  This caused
many difficulties in understanding what the code was
doing, and it required redundant fixes to the code
when a problem was found.

After refactoring, all tests continue to pass so
it is assumed that the refactoring steps so far
are working properly.
COMP: All building for superbuild other than Slicer

When building ukf from within BRAINS, some paths were missing.
PERF: Forcing const correctness and using references rather than copies

Some profiling indicated that 17% of time of a critical path function was
being spent unnecessarily copying matricies that should have been const
and therefore a reference into the original was sufficient.
STYLE: Remove compiler warnings

unnecessary const on return warning
shadow variable warning
PERF:  Refactor LU for speed, needs testing.
COMP: Memory allocated with team should be free'd with free() rather than delete.
COMP: SlicerExecutionModel builds require install bin paths.

The new version of SlicerExecutionModel is more agressive
in testing required inputs.
PERF: Minimize copy of vectors in linalg operations.

By maximizing the const and reference usage, there will be
less unnecessary copy constructions occuring with temporary
variables.
COMP: Remove shadow variable code problem.
BUG: VTK file format was invalid

According to http://www.vtk.org/VTK/img/file-formats.pdf

- "#vtk DataFile Version 3.0"
+"# vtk DataFile Version 3.0"
       ^
       \ NOTICE THE EXTRA SPACE HERE!
         That space is REQUIRED for valid format!

The first part is the file version and identifier. This part contains
the single line: "# vtk DataFile Version x.x".  This line must be **exactly**
as shown with the exception of the version number x.x, which will vary
with different releases of VTK. (Note: the current version number is
3.0. Version 1.0 and 2.0 files are compatible with version 3.0 files.)
COMP: Testing output directory was not created before running test.

This caused failures in the ukf tests due to missing files because
they could not be written to non-existing directories.
COMP: Virutal functions and shadow variable ambiguity

Virtual functions were being shadowed and variables were
being shadowed by class scope functions and similar names.

While technically this **MAY** not cause a problem, it makes
otherwise simple code cleanups much more difficult. Code is
much easier to maintain when unique variables are either uniquely
scoped, or given unique names.
ENH: Respect thread limits from environment

Setting the ITK number of threads must be done
carefully when used as part of the Slicer environment.

When this is used as a shared library module inside of slicer
it would reset **ALL** of Slicers ITK functions and programs
to be set to the number of threads specified by UKF after
UKF was run.   The solution is to reset the ITK number of threads
when exiting the program.  This is accomplished with a object that
does the resetting upon deletion.

As a side benefit, when UKF is used inside of a batch processing
system (i.e. SGE, OGS, PBS, torque, etc...) it will respect the
number of threads allocated by the scheduler.