Use contrib/ eigen when 3rd party eigen is bad

Currently if we detect 3rd party Eigen installations but have trouble
compiling Eigen headers (e.g. with old versions of Eigen/Sparse) we
disable eigen entirely.  We should fall back on the contrib/ Eigen
instead.
Merge pull request #260 from libMesh/eigen_fallback

Use contrib/ eigen when 3rd party eigen is bad