Dot

Added dot function for sparse matrix.
See all the comments about the grad for DenseDot.