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
@jnothman, yes, that's correct.

Right now, I'm leaning towards just supporting partitions, but adding code that explicitly checks that this is true and raises an exception otherwise (to avoid silent errors). Too late to do it today, but that's my thinking.