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`.
This test isn't very strong. `x[:] is not x` succeeds for all ndarrays `x`, I believe.