ENH: Swap rows in sparsefuncs
Made the following changes
a] Replaced numpy slicing with concatanate
b] Added swap_sparse_column
COSMIT: Replaced ptr1/2 with start/stop
failing test for wrong solver exception
Added raise statement in ridge_regression solver check
FIX raise memory error if constant_feature can't be realloc
Merge pull request #3116 from eickenberg/ridge_wrong_solver_exception

[BUG] Ridge doesn't raise an exception if a non-identified solver is passed
COSMIT: rng.permutation rather than rng.shuffle
Made the following changes
1. Minor changes to docs
2. Replaced swap with inplace_swap
Merge pull request #3104 from MechCoder/swap_sparse

[MRG+1] ENH: Swap rows in sparsefuncs
Update numpy and scipy requirement
Change the order of test_score and train_score in the _fit_and_score docstring to reflect what the code actually does
Merge pull request #3127 from rmcgibbo/_fit_and_score-docstring

[DOC] Make _fit_and_score return value docstring consistent with code.
DOC random_state is an arg to LogisticRegression
pep8 remove unused variable
ENH: use setuptools for bdist_wheel command

Enable wheel building by importing setuptools.
DOC a note on shuffling for cross-validation
ENH shuffle option for StratifiedKFold
DOC shuffled StratifiedKFold now in whats_new
BUG: fix doctests