Fix building problem with Eigen3

These patches fix the building problem with Eigen3 and without Eigen2.
These use EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API, so Eigen2 compatibility is still retained.

Please take a look.
Thanks!