Add pry to the gemfile for better local testing/dev
Add support for running integration tests through RSpec against a pre-configured broker/topic

This will make it a bit easier to run local tests in a more automated fashion
against some non-public broker hostnames
Fix a test-discovered issue when calling Hermann::Lib::Producer#tick without having started requests
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
Add a Rake task for running integration tests
Switch out all these ifdef TRACE statements for a cleaner TRACER() macro
Hold onto the Hermann::Lib::Producer pointer inside of the rd_kafka_conf_t
Add Hermann::Timeout abstraction for 1.8/1.9 compatible timeout support
Make use of Hermann::Timeout when ticking the Producers reactor to safely block for a value

This adds a requirement for 1.8.7 clients to install the SystemTimer gem for
timing out on Hermann::Result#value(timeout) to block and timeout correctly

Fixes #25
Refactor out the necessity for Hermann::Timeout and just rely in a Ruby-based busyloop
Introduce a wrapper struct to make message delivery callbacks able to change Producer data

This will help with determining whether we're no longer connected due to
failures after a push of a message
Expose an #errored? method which gets set if the general error callback is invoked

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

Add lots more machinery to help identify errors outside of a `push` command