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
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