Handle broker rebalances

Previously we were ignoring error values in the producer reponse.
We now leadership related errors and retry those messages.

Includes an integration test.
Should this say 'Return all messages we successfully sent'?