[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.
Whenever, I run `nosetests sklearn/utils/tests/test_random.py --with-coverage `, 
I got the following warnings
```
./Users/ajoly/git/scikit-learn/sklearn/utils/random.py:257: DeprecationWarning: using a boolean instead of an integer will result in an error in the future
  p_nonzero = 1 - class_prob_j[classes == 0]
```