Scipy 1.0 Roadmap

Note: to be discussed on the list, don't merge.
LIL insertion is log(k) in the number k of elements per row (binary search) --- assuming Python lists use a sensible reallocation mechanism. It's not really slower than DOK in practice, and can be faster:
```
>>> import scipy.sparse, numpy
>>> scipy.__version__
'0.14.0'
>>> i, j = numpy.random.randint(0, 3000, size=(2, 400000)).tolist()
>>> def insertion(arr, ii, jj):
...    for i, j in zip(ii, jj):
...        arr[i,j] = 0.1234
>>> m_dok = scipy.sparse.dok_matrix((3000,3000))
>>> m_lil = scipy.sparse.lil_matrix((3000,3000))
>>> %timeit -n1 -r1 insertion(m_lil, i, j)
1 loops, best of 1: 1.89 s per loop
>>> %timeit -n1 -r1 insertion(m_dok, i, j)
1 loops, best of 1: 2.29 s per loop
>>> %timeit -n1 -r1 m_dok[i,j] = 0.1234
1 loops, best of 1: 226 ms per loop
>>> %timeit -n1 -r1 m_lil[i,j] = 0.1234
1 loops, best of 1: 308 ms per loop
```
Note also that DOK insertion performance is also quite far below PySparse (factor of 10...5).

I'd actually like to deprecate both DOK and LIL and replace them with an efficient storage scheme suitable for matrix assembly. I don't think keeping the data in Python data structures has so many advantages in practice.