Negative offsets

I modified the `second_latest_offset` branch to take a more general negative offset instead. This introduces an API change, because you can no longer pass `-1` or `-2` yourself to get latest or earliest offset respectively as specified in the Kafka protocol. I believe this is a reasonable change where the users of Poseidon should not have to care this deeply of the protocol underneath—that's Poseidon's job. Instead, we use negative numbers to specify a negative offset. This is done by getting the latest event's offset and then setting the offset to that minus `@offset`.

Please review:
@bpot @fw42 @hornairs