Add grouper interface and locality aware grouper

this pull request

1. adds grouper and grouper factory trait such that grouper is configurable via kafka.conf;
2. adds a locality aware implementation such that tasks could read from local kafka partitions.