add idle timeout parameter to consumer

In order to stop a consumer when there are no messages during a period of time you can add an `idle_timeout` parameter to you configuration.