ENH: reshape sparse matrices

closes https://github.com/scipy/scipy/issues/3507

Before this PR, sparse matrix reshaping raised `NotImplementedError` except with the `lil_matrix` format.

The coordinate conversion implementation is due to @WarrenWeckesser at http://stackoverflow.com/questions/16511879 so please do not merge until he approves.

The test added to the base class is modeled on the only existing sparse matrix reshaping test -- the `test_reshape` test for `lil_matrix`.
(And the exception type seems to vary across the code)