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`.
It's not necessary, but conversion to `coo_matrix` is used in a lot of places, for example it is the first step in conversion to ndarray, to dia, and to dok, and for printing and for finding nonzero indices.  On the other hand if none of these functions are speed/memory bottlenecks then maybe it does not make sense to have custom conversion code.