Fix linear algebra documentation

- Revert change in documentation about use of BunchKaufman in \ (#4638)
- Document return type of sqrtm (Closes #4006)
Provides isposdef of a eigendecomposition

- also make `GeneralizedEigen` a subtype of `Factorization`
- also export `GeneralizedEigen`
Consolidate Hermitian and Symmetric routines

- Reimplement expm and sqrtm (ref #4006)