[WIP] Sparse Target Dummy Classifier

- [x] Test sparse with all four strategies 
- [x] Fit with sparse target
- [x] Predict sparse target
- [ ] 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 
- [ ] Random sampling function outputs sparse column
- [ ] Test random sampling function with simulation
Instead of choice, it might be faster to use np.searchsorted. Something like:

```
cumulative_p_c = np.cumsum(p_c)
c = np.searchsorted(cumulative_p_c, generator.rand(n_samples))
```
as in [make_multilabel_classification](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/datasets/samples_generator.py#L244).