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`.
Maybe use `np.may_share_memory`? (That can return false positives, but probably not in this case.)