TST: sparse: reorganize base tests

This PR reorganizes the base functionality scipy.sparse matrix tests in `test_base.py`. It does the following:

- Specify tests by listing which features are **not** supported by each sparse class. Currently, many tests which in principle would pass are not run e.g. for DOK or LIL classes.

- Convert unsupported tests to checks that an appropriate exception is raised. Operations that do *not* raise an exception but produce invalid results are marked with KnownFailures.

- Enable some disabled slicing tests for DOK/LIL (which have bugs -- marked).    

- Add some new multidimensional fancy indexing tests.

These make it more sure that either a feature in a sparse matrix class works, or it is clearly marked as unsupported.

PR gh-1075 fixes some of the marked LIL issues. I'll file a PR to make the CSC/CSR unsupported features to raise an errors rather than producing invalid results.