refactor sparse solving unit tests
add a unit test for permutation applied to sparse objects
add proper bicgstab unit test
extend BiCGSTAB to arbitrary rhs
fix sparse tri-solve for full matrices
add a basic ILU preconditioner
update the decomposition catalogue
Bug 363 - check for integer overflow in byte-size computations
Bug 363 - check for integer overflow in size=rows*cols computations
Bug 363 - add test for integer overflow in size computations
Throw std::bad_alloc even when exceptions are disabled, by doing new int[size_t(-1)].
Don't throw exceptions on aligned_malloc(0) (just because malloc's retval is null doesn't mean error, if size==0).
Remove EIGEN_NO_EXCEPTIONS option, use only compiler standard defines. Either exceptions are enabled or they aren't.
forgot inline keyword
move the blas.h header to blas/ and remove declaration of function returning a complex

--HG--
rename : bench/btl/libs/BLAS/blas.h => blas/blas.h
move DynamicSparseMatrix to SparseExtra

--HG--
rename : Eigen/src/Sparse/DynamicSparseMatrix.h => unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h
factorize solving with guess
add the possiibility to disable deprectated warnings (useful for deprecated unit tests!)
mark deprecated sparse solvers as so.
update sparse*sparse product: the default is now a conservative algorithm preserving symbolic non zeros. The previous with auto pruning of the small value is avaible doing: (A*B).pruned() or (A*B).pruned(ref) or (A*B).pruned(ref,eps)

--HG--
rename : Eigen/src/Sparse/SparseSparseProduct.h => Eigen/src/Sparse/SparseSparseProductWithPruning.h
hopefully this workaround of cmake bug #9220 works for MSVC too
remove the MSVC specific blas/lapack option