Take PartitionerConstructors in the producer

and generate a new partitioner for each topic
Get rid of partitioner locks

they are no longer necessary
Default to hash partitioner

This is what the scala client defaults to
Merge pull request #169 from Shopify/partitioner-ng

Partitioner-ng