Distributed grid search

Extends sklearn.grid_search.GridSearchCV to use IPython.parallel instead of joblib.Parallel, which lets you scale to multiple nodes.