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.