Scipy 1.0 Roadmap

Note: to be discussed on the list, don't merge.
`std::map` probably gives quite a lot of bang for the buck. Since it's a sorted tree, also row-slicing (or column-slicing depending on the key sort order) should also be efficient.

The [memory overhead of std::map](http://info.prelert.com/blog/stl-container-memory-usage) on the other hand is quite bit, 32 bytes per element (twice that taken by int32,int32,float64 of typical data itself).

PETSc on the other hand (based on reading its documentation), apparently only uses CSR (and BSR), and advises users to carefully hint the nnz-per-row before assembly. During assembly, it apparently uses "non-compressed CSR" which probably is quite similar to LIL, perhaps with unsorted rows with duplicates allowed for ADD_VALUES (which would avoid quadratic time).