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 #36 from bpot/bp/wrong_broker

poseidon frequently sends to wrong broker