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)
Use array for sparse matrix construction, fix constant check

-Replace the numpy array construction of data,indicies, and inptr
with regular arrays.
-loop over all output columns when checking for the prescence of
the user provided constant.
Replace np.random.choice with utils.random.sample_without_replacement
Raise warning unifrom fit sparse target, Raise error uniform precit sparse target
Support matrix output random_choice_csc, Update usage in dummy predict

Use this general function for each case int the sparse predict
of the dummy classfier
Validate lengths equal each element of classes and class_probabilities
Test random_choice_csc
Test ValueError for length mismatch between array in classes, and probs