Propagate the timeout from Hermann::Producer#tick_reactor down into the rd_kafka_poll calls

This also introduces some more/better error handling in Hermann::Lib::Producer#tick

Fixes #24