Added smart_memmove with support of non-POD scalars (e.g. needed in SparseBlock.h).
Fixed bug 647 by using smart_copy instead of bitwise memcpy.
Switched to smart_copy to support non-trivial scalar types
Replaced memcpy & memmove to smart_* alternatives for non-POD scalar types
Updated mpfr::mpreal. Move semantic support, RVO, other new features
Implement a blocked upper-bidiagonalization algorithm. The computeUnblocked function is currently for benchmarking purpose.
Use unblocked version if the matrix is too small, plus some cleaning.
Fixed InnerPanel definition in the Transformation class.
Added some inital documentation on InnerPanel.

--HG--
extra : rebase_source : 6fca5da4aca3bf6463fb30a47e763046722461d1
Added missing inline statements in order to prevent linker errors.
BDCSVD: Use rational interpolation to solve secular equation.
Algorithm is rather ad-hoc and falls back on bisection if required.
Another compilation fix with ICC/MSVC combo
Merged in advanpix/eigen-mp-devs (pull request #32)

Fixes for SparseMatrix to support non-POD scalar types
Fix sparse block
Fix bug 654: allow implicit transposition in Array to Matrix and Matrix to Array constructors
Fix ploaddup and lin-spaced with AltiVec.
Fix bug #503

C++11 support on simple allocators comes for free. `aligned_allocator` does not
need to add any `construct` overloads to work with C++11 compilers.
Fix elimination tree and SparseQR with rows<cols
Fix assert bug in sparseQR
Add a block sparse matrix class. tests to be added
Reduce explicit zeros when applying SparseQR's matrix Q