Add an optional response callback to Producer

Adds a callback that can be used to determine which messages failed to send and why.