Sparse Input Adaboost Support

This is a PR for issue #2581, this includes both updates to the AdaBoost classifier in ensemble/weighted_boosting.py and updates to the tests in ensemble/tests/test_weighted_boosting.py

The testing code is based off of the code written to test the sparse support in the bagging classifier (PR #3076) it was only modified slightly to work as test code for the AdaBoost classifier and regressor. Like the bagging method this is showing that the results on the sparse and dense classifiers match exactly.

Two specific parts to be reviewed is the choice of parameter_sets in the testing code, and also the exclusion of a np.ascontiguousarray in the base class for the AdaBoost code.