Read and writable partitioned sources

This is an initial implementation of partitioned versions of the TypeDelimited and TextLine sources.

I'll add the tests next.
Will do. Template is just a format string such as "%s/%s".

It's actually not a cascading thing. In order for Cascading Partition tap to work you need to provide it with something that extends the Partition interface, which has two keep methods:
* `toTuple` takes the relative partition path and a tuple entry that contains the file content and modifies the tuple entry to include the partition information.
* `toPartition` takes a tuple entry that only contains the partition field values and creates the relative partition path from it.