Merge pull request #31 from rtyler/issues/25-producer-errors

Add lots more machinery to help identify errors outside of a `push` command
Propagate system broker errors into Hermann::Result objects

Provided that Producer#tick_reactor has been invoked, if there are underlying
errors like "1/1 Brokers down" then this code will ensure that outstanding
Herman::Result children of Herman::Producer will have their error status updated.

Fixes #25
Add a failing integration test for binary data

Just a quick reproduction case for #32