[MRG] Sparse Target Dummy Classifier

- [x] Test sparse with all four strategies 
- [x] Fit with sparse target
- [x] Predict sparse target
- [x] ~~Simplify (skip steps) when constant strategy is used~~
- [x] Clean up redundancies of indicies, data, indptr in predict
- [x] Clean up conditional redundancies in fit 
- [x] Random sampling function outputs sparse column
- [x] Test random sampling function ~~with simulation~~
- [x] Uniques/class distribution function for multilabel-multioutput (share with sprs knn)
- [x] Always use dense predict with uniform case, and throw a sparse efficiency warning.
Looks to me like you could still do this even without calling `y.eliminate_zeros()`.

You'd just need to check whether `0` is already in `classes_k`, in which case don't add it and just increment its class prior.

Would it be worth it? Eliminating zeros basically rebuilds the CSC matrix, as far as I can tell by the code in scipy.