MutableInnerProductSpace for a DenseMatrix

Made those changes as I discussed last week.

I added a `DenseMatrix.toDenseVector`.  I also added a couple implicits directly to DenseMatrix that seemed to be unambiguously defined (zipMapValues and axpy), and also a builder function for MutableInnerProductSpace

The last commit, SHA: aed7b40, has the actual object for the new inner product space, which contains some of the implicits that you presumably don't want in scope all the time (dot product on a matrix).  I got a little confused trying to generalize it, so I just specified it for DenseMatrix[Double].  Suggestiosn on fixing this up would be helpful.