Cosine and Mahalanobis distance

This PR implements Cosine and Mahalanobis distances.
> By specifying a RowViewer by method set rather than name I was just avoiding the mat64 dependency. If that's not actually an issue, just keep mat64.Dense.

It should be an interface either way. If the user inputs a Diagonal matrix then the multiplication can be much cheaper (when mat64 gets more intelligent). If it's forced to be a Dense no such gains may be had.