When a broker disconnects, remove it from list of brokers (previously it was attempting to reconnect indefintely):
  Eventually zookeeper will detect the disconnection and the topics' metadata will be refreshed; the topic partition leaders will be updated to reflect the changes.
Fix bug where sending a payload for a topic whose partitions reside on the same broker does not trigger the client callback.

Example:
  For the following payload:
    { topic:"topic0", messages: ['hello'], partition:'0'},
    { topic:"topic0", messages: ['hello'], partition:'1'}
  If the 2 partitions have the same leader / broker, we should ensure the client callback is called.