ENH Add cross_val_predict function

This function returns the cross-validated prediction for each element in
the input data (i.e., the prediction that is made when that object is in
the test set).

This is a loop that I keep writing over and over again, so I feel it should
be part of scikit-learn. Additionally, this uses joblib to take advantage of
multiple CPUs
remove =

formatting should be:

train : array-like, shape (n_train_samples,)