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
> I couldn't find a more elegant way to have numpy figure out the right type for
> preds if there is no y. I'd really like to know how to do something like:

> preds = np.zeros(len(X), dtype=...)

Sounds an elegant way of doing things (maybe using empty instead of
zeros?).

> but I don't know how to precompute this type.

Maybe using numpy.mintypecode?