Major cleanup of tests

- Moved `make_classification_data` and `make_regression_data` from all the test files into a separate file `utils.py`.
- Significantly simplied the various test files.
- Made `make_classification_data` more flexible so that it can be used in more tests.
- Some tests still use `make_classification` from sklearn directly since it's unavoidable.