Fix race condition in Close()
switch to RLock
Merge pull request #162 from PatrickDropbox/master

Fix race condition in producer's Close()
Add default replication to vagrant setup
Merge pull request #165 from Shopify/tweak-vagrant

Add default replication to vagrant setup
Give it more memory by default
Let brokers connect to *all* zookeepers
Merge pull request #167 from Shopify/vagrant-tweaks

Vagrant tweaks
New Producer design
Workaround https://issues.apache.org/jira/browse/KAFKA-1718
Add some logging to the new producer
Add some tests

Also fix one bug found by the tests
Remove an unused struct element

Also simplify an if/else into just an if as suggested by golint.
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
Move PartitionerConstructor definition into partitioner.go
Fix shutdown even harder

Worked through the happens-before graph a little more formally and found some
(admittedly unlikely) cases where shutdown would fail/panic/hang/whatever. This
version *should* be correct.
Merge pull request #170 from Shopify/fix-shutdown-harder

Fix shutdown even harder