[CRASH] in theano.grad when mulsd do not return a dense grad for dense input.

Also make theano.grad test the output is good.
Make MulSS and AddSS support mixed input format.

I do not force the grad to be the same format. This would require
conversion.  I do not think we always enforce this already, so I do
not want to enforce that now.
sparse.Dot() test grad with mixed sparse/dense.

Do not enforce that if the input is sparse, we need the grad to return
sparse.
fix typo in comment
Merge pull request #2294 from nouiz/mixed

Fix crashes related to sparse