Addition of a high-level consumer to kafka-node

This pull request overwrites the previous (now closed) request. It adds broker listeners and deals with commits in a more sensible way. N.B. be careful of setting too high a zk session timeout - for my app I use 5s.

I also have a good pattern for making use of the new high-level consumer that deals with commit offsets (in the application) to ensure you app is always in control of what messages it's consumed - let me know if this is of interest and I'll make available on our public repo

Can you let me know if you plan to commit these changes into the main branch - I'd prefer this rather than having to diverge (via a my repo)