MultiProducer

Makes Producer more flexible. Breaks API compatibility.

This enables buffering, as well as reducing connections when publishing to multiple topics having partitions with coincident leaders. Single-producer throughput is about to become a potential concern for us.

#### TODO:
* [x] Test complex case: Multiple flushes to multiple brokers with multiple topic-partitions per request.

Potential reviewers @sirupsen @wvanbergen @eapache @fw42 @graemej. Whoever has time / motivation to work through it.

Don't read the diff; just read https://github.com/Shopify/sarama/blob/multiproducer/producer.go