MultiProducer: Initial progress. Only theoretically-working.

Adds a more generic implementation for a Producer (`MultiProducer`), and reimplements `Producer` in terms of it.

This enables buffering, as well as saving on connections when publishing to multiple topics having partitions with coincident leaders. Single-producer throughput is about to become a potential concern for us.

#### TODO:
* [ ] 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.