FeatureUnion example using a heterogeneous datasource.

Uses the 20newsgroups dataset. Extracts & processes the subject-line and body
with separate pipelines and combines them with a FeatureUnion.

Closes #3569
Well, at least ``len(data) == n_samples`` for dataframes (I am not sure it is good to speak of second or first axis in dataframes. I wouldn't know which is which and they are fundamentally different somehow). I think requireing only ``len(data[key]) == n_samples`` is fine.