TST: sparse: accept Numpy dev versions in >= 1.9.0 version checks
TST: sparse: fix some issues in sparse non-canonical tests + mark new known failures
TST: sparse: fix dense-sparse in-place op tests

These tests previously assumed that ndarray.__imul__(sparse) would
correspond to elementwise product. This behavior in __numpy_ufunc__ was
changed in Numpy, so that "a *= b" corresponds to sparse.__rmul__
(similarly as "a = a*b").
TST: sparse: Py3 fix
ENH support getting single element from CSR/CSC where duplicates are present
MAINT: raise warnings for logm of some possibly nearly singular matrices
MAINT: add 2d convolution benchmark
ENH: improve signal.convolve2d performance

Store indices in inner most loop and apply them in one typed loop one
level lower. This avoids expensive memcpy and function calls for very
cheap operations.
Improves performance by almost a factor 3 with relative small changes,
but there is still a lot of room for improvement.
ENH: sparse: implement fancy indexing in dok_matrix.__setitem__
TST: sparse: turn on DOK fancy indexing tests
BUG: sparse: fix bugs in DOK setitem for multidim index arrays
ENH: sparse: implement fancy indexing in DOK getitem
ENH: sparse: fast path for DOK scalar setitem
BUG: sparse: fix logic error in DOK getitem

Since i, j can be arbitrary, also for small NNZ one needs to look up
which index in i, j it corresponds to.
BUG: sparse/dok: remove unnecessary broadcasts

_index_to_arrays already broadcasts
BUG: sparse: fix bug in dok_matrix.__setitem__ fast path
ENH: sparse: add fast path for slicing very sparse dok_matrix
ENH: sparse: some performance microtuning in dok_matrix
BUG: sparse: fix dok_matrix empty return
TST: sparse: set numpy random seed, not python random