Complete fix for issue #5

This updates the comments describing SVD behaviour and ensures that the
correct matrices are constructed.

Output disagrees with R's svd function in sign only.
Allow Rank and Cond to work without U or V

Previously we obtained the dimension of A from U and V rather than just
keeping them internally. This prevented Rank and Cond being used if
those matrices were not requested.