Cosine and Mahalanobis distance

This PR implements Cosine and Mahalanobis distances.
I in the past have used RowMatrix. https://github.com/reggo/reggo/blob/master/common/interfaces.go, and have used reflection to see if it was a RowViewer (instead of just a Rower). There are many matrices that can't be a RowViewer but can be a Rower.

As to the larger question, I don't think all distance functions should go in stat. Just the distance functions that are statistical in nature. Kullback-Liebler, for example, is inherently statistical; it is based on statistical entropy. Kolmorogov-Smirnov uses empirical CDFs.  On the other hand, the floats Distance computes an L norm of the distance. Sure, you could use it to measure the distance between two distributions, but you could use it to measure the distance between any two vectors as well. That's my objection to it being in stat. The distance metric you have included here is a generalized 2-norm. 

I see your point on people looking in one place. We could perhaps provide a wrapper function, but it seems like the actual implementation should lie elsewhere. Maybe I'm being too pendantic. 

It does seem like we should provide both versions; one with the covariance matrix C and one with the precision matrix C^-1. It is usually a bad idea to compute the inverse directly, and this is not an exception. If one has a covariance matrix, there should be a call to mat64.Solve and then a matrix multiply (instead of forcing the user to compute an explicit inverse).