More eigen.m4 flexibility

Check more environment variables when figuring out where to look for
Eigen headers

Allow configure.ac (in other programs) to search for Eigen/Dense
without failing if a working Eigen/Sparse is missing.  This should
probably be given a better mechanism...
Define another testable variable, HAVE_EIGEN
fix cut & paste bug that caused constraining DOFs to be multiply added.