CDK-446: Add provided partitioner

This adds a "provided" partitioner that can work with partitions that are not connected to source fields on the entities stored in a Dataset. The new partitioner type requires a backing type that is used to validate constraints and to deserialize values from paths or partition keys. This type can be "int", "long", or "string" and defaults to "string".
These should refer to constants rather than the string literals.