Switch thread2 -> multiprocessing

Thread2 is a hack, and does not allow killing sklearn in the middle of an
expensive C call (e.g. LinearSVC.fit).

Multiprocessing risks duplicating training data and not being able to return
an un-picklable result (though so far it works) but at least the timeout
mechanism is more reliable.
hyperopt_estimator accepts seed