Update Eigen to the latest stable release, 3.2.2

./Eigen/src/Core/util/NonMPL2.h is left untouched, so that
usage of non MPL2 code is disabled.

Change-Id: I86fc9257b3c30d0ca15b268d4ef07bf038bba7ca
diff --git a/doc/Manual.dox b/doc/Manual.dox
new file mode 100644
index 0000000..3367982
--- /dev/null
+++ b/doc/Manual.dox
@@ -0,0 +1,159 @@
+
+// This file strutures pages and modules into a convenient hierarchical structure.
+
+namespace Eigen {
+
+/** \page UserManual_Generalities General topics
+  - \subpage Eigen2ToEigen3
+  - \subpage TopicFunctionTakingEigenTypes
+  - \subpage TopicPreprocessorDirectives
+  - \subpage TopicAssertions
+  - \subpage TopicCustomizingEigen
+  - \subpage TopicMultiThreading
+  - \subpage TopicUsingIntelMKL
+  - \subpage TopicTemplateKeyword
+  - \subpage UserManual_UnderstandingEigen
+*/
+  
+/** \page UserManual_UnderstandingEigen Understanding Eigen
+  - \subpage TopicInsideEigenExample
+  - \subpage TopicClassHierarchy
+  - \subpage TopicLazyEvaluation
+*/
+
+/** \page UnclassifiedPages Unclassified pages
+  - \subpage TopicResizing
+  - \subpage TopicVectorization
+  - \subpage TopicEigenExpressionTemplates
+  - \subpage TopicScalarTypes
+  - \subpage GettingStarted
+  - \subpage TutorialSparse_example_details
+  - \subpage TopicWritingEfficientProductExpression
+  - \subpage Experimental
+*/
+
+
+/** \defgroup Support_modules Support modules
+  * Category of modules which add support for external libraries.
+  */
+
+
+/** \defgroup DenseMatrixManipulation_chapter Dense matrix and array manipulation */
+/** \defgroup DenseMatrixManipulation_Alignement Alignment issues */
+/** \defgroup DenseMatrixManipulation_Reference Reference */
+
+/** \addtogroup TutorialMatrixClass
+    \ingroup DenseMatrixManipulation_chapter */
+/** \addtogroup TutorialMatrixArithmetic
+    \ingroup DenseMatrixManipulation_chapter */
+/** \addtogroup TutorialArrayClass
+    \ingroup DenseMatrixManipulation_chapter */
+/** \addtogroup TutorialBlockOperations
+    \ingroup DenseMatrixManipulation_chapter */
+/** \addtogroup TutorialAdvancedInitialization
+    \ingroup DenseMatrixManipulation_chapter */
+/** \addtogroup TutorialReductionsVisitorsBroadcasting
+    \ingroup DenseMatrixManipulation_chapter */
+/** \addtogroup TutorialMapClass
+    \ingroup DenseMatrixManipulation_chapter */
+/** \addtogroup TopicAliasing
+    \ingroup DenseMatrixManipulation_chapter */
+/** \addtogroup TopicStorageOrders
+    \ingroup DenseMatrixManipulation_chapter */
+    
+/** \addtogroup DenseMatrixManipulation_Alignement
+    \ingroup DenseMatrixManipulation_chapter */
+/** \addtogroup TopicUnalignedArrayAssert
+    \ingroup DenseMatrixManipulation_Alignement */
+/** \addtogroup TopicFixedSizeVectorizable
+    \ingroup DenseMatrixManipulation_Alignement */
+/** \addtogroup TopicStructHavingEigenMembers
+    \ingroup DenseMatrixManipulation_Alignement */
+/** \addtogroup TopicStlContainers
+    \ingroup DenseMatrixManipulation_Alignement */
+/** \addtogroup TopicPassingByValue
+    \ingroup DenseMatrixManipulation_Alignement */
+/** \addtogroup TopicWrongStackAlignment
+    \ingroup DenseMatrixManipulation_Alignement */
+    
+/** \addtogroup DenseMatrixManipulation_Reference
+    \ingroup DenseMatrixManipulation_chapter */
+/** \addtogroup Core_Module
+    \ingroup DenseMatrixManipulation_Reference */  
+/** \addtogroup Jacobi_Module
+    \ingroup DenseMatrixManipulation_Reference */ 
+/** \addtogroup Householder_Module
+    \ingroup DenseMatrixManipulation_Reference */ 
+
+/** \addtogroup QuickRefPage
+    \ingroup DenseMatrixManipulation_chapter */
+
+
+/** \defgroup DenseLinearSolvers_chapter Dense linear problems and decompositions */
+/** \defgroup DenseLinearSolvers_Reference Reference */
+
+/** \addtogroup TutorialLinearAlgebra
+    \ingroup DenseLinearSolvers_chapter */
+/** \addtogroup TopicLinearAlgebraDecompositions
+    \ingroup DenseLinearSolvers_chapter */
+
+/** \addtogroup DenseLinearSolvers_Reference
+    \ingroup DenseLinearSolvers_chapter */
+/** \addtogroup Cholesky_Module
+    \ingroup DenseLinearSolvers_Reference */
+/** \addtogroup LU_Module
+    \ingroup DenseLinearSolvers_Reference */
+/** \addtogroup QR_Module
+    \ingroup DenseLinearSolvers_Reference */
+/** \addtogroup SVD_Module
+    \ingroup DenseLinearSolvers_Reference*/
+/** \addtogroup Eigenvalues_Module
+    \ingroup DenseLinearSolvers_Reference */
+
+
+
+
+/** \defgroup Sparse_chapter Sparse linear algebra */
+/** \defgroup Sparse_Reference Reference */
+
+/** \addtogroup TutorialSparse
+    \ingroup Sparse_chapter */
+/** \addtogroup TopicSparseSystems
+    \ingroup Sparse_chapter */
+
+/** \addtogroup Sparse_Reference
+    \ingroup Sparse_chapter */
+/** \addtogroup SparseCore_Module
+    \ingroup Sparse_Reference */
+/** \addtogroup OrderingMethods_Module
+    \ingroup Sparse_Reference */
+/** \addtogroup SparseCholesky_Module
+    \ingroup Sparse_Reference */
+/** \addtogroup SparseLU_Module
+    \ingroup Sparse_Reference */
+/** \addtogroup SparseQR_Module
+    \ingroup Sparse_Reference */
+/** \addtogroup IterativeLinearSolvers_Module
+    \ingroup Sparse_Reference */
+/** \addtogroup Sparse_Module
+    \ingroup Sparse_Reference */
+/** \addtogroup Support_modules
+    \ingroup Sparse_Reference */    
+
+/** \addtogroup SparseQuickRefPage
+    \ingroup Sparse_chapter */
+
+
+/** \defgroup Geometry_chapter Geometry */
+/** \defgroup Geometry_Reference Reference */
+
+/** \addtogroup TutorialGeometry
+    \ingroup Geometry_chapter */
+    
+/** \addtogroup Geometry_Reference
+    \ingroup Geometry_chapter */
+/** \addtogroup Geometry_Module
+    \ingroup Geometry_Reference */
+/** \addtogroup Splines_Module
+    \ingroup Geometry_Reference */
+}