Initial commit of support for both PartitionStrategy and ColumnMappingDescriptor definitions
that can exist external to the avro schema definitions. The PartitionStrategy definition
can support a much wider range of FieldPartitioner implementations than the current
KEY mapping type can, which is only the identity field partitioner.

There is still work to be done, so this commit will be rebased