Add Poseidon::Consumer

This consumer automatically consumes from all the partitions of a given topic without having to manually define how many partitions there are or having to manage the incoming messages.

I had to add a `.dup` to the options passed to PartitionConsumer because it modifies the passed options

@hornairs