Add paramter unsorted_indices and explicit_zero to sparse_random_inputs()

This help test those cases.

Conflicts:
	theano/sparse/tests/test_basic.py
Make _is_sparse work on tuple and list.
In op CSM.make_node(), cast to int32 only if this is safe.
Fix the tests newly broken and make it use verify_grad.
Disable the CSMGradC op and opt that add it as it is broken with unsorted indices.
Merge pull request #1505 from lamblin/sparse_updates

Sparse updates