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
Maybe this should be `ItemGetter` along the lines of `operator.itemgetter`.