Require the newer 3.1 version of Eigen
Allow user to specify path to Eigen3 library

By setting EIGEN3_ROOT, we can point directly to the path of the
library checkout we want to use. No other searching will then take
place.

Notice that if you have found an Eigen3 installation in a previous
configure, it will not find a new version even if you introduce the
EIGEN3_ROOT variable!
Allow mixed case name in variable (as for package)

Since the package is named Eigen3 (in mixed case), we should allow
for the variable to be named this way, too.
Use standard code to handle not found case

Instead of setting EIGEN3_FOUND ourselves, rely on the standard method
to check arguments and raise an error if not found.
Search common suffixes for include files

This allows us to set e.g. -DEIGEN3_ROOT=/usr/local, and have the
files actually be located in /usr/local/include/eigen3
Merge pull request #11 from rolk/011_eigen

Set path to Eigen3 directory with -DEIGEN3_ROOT=