LDA.cpp eigennized

I have changed the LAPACK codes into EIGEN3 for the binary classification through LDA.
When you do clean ups of classes, it is always a good idea to give it a general treat.
For example: Replace all ASSERTs by REQUIRE that give user readable error messages and context information. Would you mind doing that?