Dot

Added dot function for sparse matrix.
In fact, from reading the DenseDot.make_node code, I'm pretty sure you can just call DenseDot(...)(x, y) in any case and it should be fine.  make_node will make sure that one of them is sparse.