Use configure() to check and set configuration keys
Use client.get_partition_ids_for_topic
Add set_topic_partitions method to configure topics/partitions to consume
self._topics is private; fixup topic iterations for new TopicAndPartition list; add more type checks to set_topic_and_partitions
Move kafka._msg_iter initialization from __init__() to next()
_client is private var
Support setting offsets in set_topic_partitions(); reorganize offsets initialization
_should_auto_commit is private
raise KafkaConfigurationError in commit() if there is no configured 'group_id'; add docstring
Add docstring to configure()
Add docstring to get_partition_offsets; use request_time_ms and max_num_offsets var names