Add Eigen to the source tree

``clustering`` uses Eigen in implementation of Gaussian mixture model (GMM). This change introduces Eigen into the source tree to solve #518. It also adds MPL2 license text of Eigen.

Sorry for large diff, because it contains the whole of Eigen library.