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
I don't think this is true of a DataFrame or a numpy struct array.