High level consumer with non-blocking feature

### A high level consumer based on the original consumer
#### Implemented:
* Allow client to take n messages at a time without blocking even not enough message in kafka
* Auto commit offsets for consumed messages, not commit on failure. 

#### TODO: 
* Multiple consumers in the same group consuming at the same time without duplicated message.