Add full(F::Factorization) for various kinds of factorization

This PR generalizes `full(::Cholesky)` to various other factorizations: `CholeskyPivoted`, `QR`, `QRCompactWY`, `QRPivoted`, `Eigen`, `Hessenberg`, `Schur`, `SVD`, `LDLt`, and `LU`.  The idea is that `A = full(F::Factorization)` is the opposite of `F = factorize(A)`.  I implemented the reconstruction for all factorizations, apart from `bkfact`---somehow the `.ipiv` encoding is too hard to understand for me, see http://www.nag.com/numeric/FL/nagdoc_fl22/pdf/F07/f07mdf.pdf , section 5.5. 

The patch includes code, tests and a line of documention.
On the one hand, I believe it is in the spirit of `full()` to always deliver a dense array.  On the the other hand, the goal of the PR was to reconstruct the original matrix.   Given linguistic semantics, I would vote for the former interpretation.