Eigen branch created
Updates to Eigen based functions

Reflects the API changes now. I think.
Changed triangle representation

It is now a tuple of three points. I'm using a tuple because it removes
the need for an array at all and makes it slightly safer. Plus it's fun.
Check for properly invertible matrix
Some Eigen enhancements

If the user so desires, this commit will allow them to replace std::rand
within the context of the Eigen library with the mt19937 generator
across an even distrobution from -RAND_MAX to RAND_MAX
New random number system

Added a generic random number system with custom ranges, distribution
options, for both real and integral types. I may add complex types
later, but this works for now.
Made random stuff inline

They are small enough to inline.
Freaking typo...
Created an iterator system for Eigen matrices

Random access iterator for eigen matrices
Little things

Made Pal::Root noncopyable and nonmoveable
More Pal::Math::Random stuff
Re-implemented parts of the MatrixIterator system

Now you can force the 'view' for either Column-Major or Row-Major
storage specifications, or let it use the default. It specialized for
vectors and where the storage order is the same as the viewing order to
use linear access.
Also, no more weird inheritance, I switched the enable_ifs into member
functions
Fixed errant comparison

MatrixAndAccessAreSame used AND instead of equality comparison
Eigen sections may be done now

Improved the begin/end functions to be more picky about what can use
them because of ambiguous references and such.
Added a random device seed for the random number system
Added a SeedRandom function for the random number system