improve performance by only encoding when necessary
Require ruby '>= 1.9.3' in gemspec
Make integration tests more reliable

* Use Kafka's scripts instead of DaemonController
* Kill kafka brokers prior to killing ZK
* Fix integration test failures
Update quickstart link in README.md
Fix issue causing us to send messages to the wrong partition [GH-36]

When finding a leader for a partition we were using the
partition_id as the index of the partition in the metdata array
instead of finding the partition in the array with the correct id.
Specify a more strict rspec dependency
Merge pull request #30 from orgsync/request-buffer-perf

Improve RequestBuffer performance by only encoding when necessary.
Merge pull request #36 from bpot/bp/wrong_broker

poseidon frequently sends to wrong broker
Don't attempt to send messages to partition w/o leader.

Updated the MessageConductor to skip partitions whose
error value was not zero or whose leader value is `-1`.

Code was incorrectly assuming that the leader_id for
leaderless partitions would be `nil`.
Connection: Include host:port when raising a ConnectionFailedError
Travis CI: build on 2.1.2
Merge pull request #42 from bpot/bp/better_connection_error

Connection: Include host:port when raising a ConnectionFailedError
Handle broker rebalances

Previously we were ignoring error values in the producer reponse.
We now leadership related errors and retry those messages.
Producer: timeout optino is :ack_timeout_ms not :request_timeout_ms
Merge pull request #43 from bpot/bp/check_response

Handle broker rebalances
Merge pull request #45 from bpot/bp/timeout

Producer: timeout option is :ack_timeout_ms not :request_timeout_ms
Cleanup specs and handle metadata failures better
Merge pull request #47 from bpot/bp/metadata_failures

Raise Error on Metadata Failures
Consumer: wait for messages by default

Prior to this change min_bytes was 0 by default which causes the fetch
command to unexpectedly return regardless of the max_wait_ms setting.

Also, fixed options for PartitionConsumer#fetch to expect max_wait_ms
and not max_wait.
Update integration spec docs