+ Fix the bug of calling len when using sparse matrix for fit_params in cross_validation.py.
+ Fix the bug of calling len when using sparse matrix for fit_params in cross_validation.py.
+ Add test case for the above fix.
Merge branch 'fix_bug_in_cross_validation_when_using_sparse_matrix_for_fit_params' of https://github.com/queqichao/scikit-learn into fix_bug_in_cross_validation_when_using_sparse_matrix_for_fit_params

Conflicts:
	sklearn/cross_validation.py
Merge pull request #3690 from queqichao/fix_bug_in_cross_validation_when_using_sparse_matrix_for_fit_params

+ Fix the bug of calling len when using sparse matrix for fit_params in ...
MAINT refactor gradient boosting code

Fixes gh-3790
sparse input support for GBRT
add sparse data support to benchmark script
use sklearn backports of np assertions
make --sparse a str
cleanup after rebase