sparse: enhancements for DIA format

This is still a WIP, due to slower speeds on `tocsr()`:
```
In [2]: A = scipy.sparse.rand(200,300,density=0.8,format='dia')

In [3]: %timeit A.tocoo().tocsc()
100 loops, best of 3: 5.78 ms per loop

In [4]: %timeit A.tocsc()
100 loops, best of 3: 3.85 ms per loop

In [5]: %timeit A.tocoo().tocsr()
100 loops, best of 3: 4.65 ms per loop

In [6]: %timeit A.tocsr()
10 loops, best of 3: 19.8 ms per loop
```

Both `tocsc()` and `tocsr()` look like they can be optimized further.