Rearrange KafkaClient method order to group client metadata methods together
if error code is not recognized in check_error: raise UnknownError
No more custom LeaderUnavailableError exception -- raise LeaderNotAvailableError
Refactor internal metadata dicts in KafkaClient
 - use helper methods not direct access
 - add get_partition_ids_for_topic
 - check for topic and partition errors during load_metadata_for_topics
 - raise LeaderNotAvailableError when topic is being auto-created
   or UnknownTopicOrPartitionError if auto-creation off
Dont need to use callbacks for offset fetch requests