Change generalized svd to return Q and R separately. Update docs to point to svdfact and eigfact.

As discussed in #5931. I have changed the function to match the docs. I have also added to the documentation that `svd` and `eig` are wrappers around `svdfact` and `eigfact` that returns a tuple instead of a type.