ENH Sparse multilabel target support

All multilabel metric calculation is now performed efficiently over
sparse CSR matrices.
DOC label indicators are clearer as ints than floats
DOC more precise input type for multilabel metrics
Test sparse target data with dummy classifier
Fit dummy classifier with sparse target data
Op directly on y.data in fit, xrange -> range, y.tocsc
Share array intialization sparse and dense fit

The arrays n_outputs_, classes_, n_classes_, class_prior_
Reorder fit and share denes sprs, Scafold sprs pred

Put the code for managing the constant case in fit
outside of the sparse conditional so it is shared
by both branches of execution.

Scaffold the four cases for sparse prediciton,
use a new class attribute sparse_target_input_
to carry over issparse from fit. Cases for
stratified and unifrom need improvement.
Remove temporary code from test_sparse_target_data

The code was used to test a classifier with an incomplete
 predict function.
remove zero from random uniform return data
Emulate sample weight support from dense (Rebase)
Add four tests for sparse target dummy, one for each strategy

The tests are
test_constant_strategy_sparse_target,
test_uniform_strategy_sparse_target,
test_stratified_strategy_sparse_target,
test_most_frequent_strategy_sparse_target
Correct the class priors computation in the sparse target case

Consider the wieghts of the zero elements and hendle the insertion
of the count of zeros in the bincount manaully
Remove redundant indices, data, indptr appends in predict

Take them out of the four branches and do them once at the end of
all of the conditionals
Test sparse stratifed corner case with 0s

This activates the code for the manual handling of class prior
of zero elements
Combine dense column check in fit
Update y with y.tocsc (Not an inplace op)
Select nonzero elements in predict stratified case
Implement uniform and stratified w/ sparse random choices, optimize concats

-Write a sparse version of numpy.random.choice in utils/sparsefuncs
-Remove concats from inner loop of predict and use only one finaly concat call
np.random.choice -> choice (from utils/random)