allow partition key to be passed for each put record request.

this is required in order for writes to be balanced between
shards.  to grandfather in the old behavior, use the value
provided in config if a partition key is not supplied in the request.