Cosine and Mahalanobis distance

This PR implements Cosine and Mahalanobis distances.
> 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. 

Fair enough. Then do what you suggested as a Rower with a conditional
assertion on RowViewer for the non-allocating path (measure).