Threaded producer

Turned out to be a little more involved than I anticipated, since KafkaConnection had a major bug with copy() and threads (due to subclassing threading.local). As a side effect reinit() is not mandatory anymore, client will automatically reconnect when it is used for the first time after a copy().