Adding batching capabilities to the DelegatingConsumer.

This change makes it possible that (optinally) BatchConsumers
can be used as delegates. They will be notified of a batch
start and end if they are, and it will be silently ignored
if they are ordinary Consumers.
Merge pull request #161 from daschl/delegating-batch-consumer

Adding batching capabilities to the DelegatingConsumer.