fix consumer retry logic (fixes #135)

Fixes bug in the follow condition:

* Starting buffer size is 1024, max buffer size is 2048, both set on an instance level
* Fetch from p0, p1 and received response
* p0 has more than 1024 bytes, consumer doubles buffer size to 2048 and marks p0 for retry
* p1 has more than 1024 bytes, consumer tries to double buffer size, but sees that it's at
  the max and raises ConsumerFetchSizeTooSmall

The fix changes the logic to the following:

* Starting buffer size is 1024 set on a per-partition level, max buffer size is 2048 set on an instance level
* Fetch from p0, p1 and received response
* p0 has more than 1024 bytes, consumer doubles buffer size to 2048 for p0 and marks p0 for retry
* p1 has more than 1024 bytes, consumer double buffer size to 2048 for p1 and marks p1 for retry
* Consumer sees that there's partitions to retry, repeats parsing loop
* p0 sent all the bytes this time, consumer yields these messages
* p1 sent all the bytes this time, consumer yields these messages
Improve leader failover tests; note that async produce failover is broken -- so skip that test for now
Add warnings to README, docstring, and logging that async producer does not retry failed messages
Add a test for Issue #135 (Spurious ConsumerFetchSizeTooSmall error)
Merge pull request #136 from DataDog/fix-multifetch-buffer-size

fix consumer retry logic (fixes #135)

Conflicts:
	kafka/consumer.py
Add link to kafka-clients google-group on README
Merge pull request #213 from dpkp/improve_failover_tests

Warn users about async producer
Refactor producer failover tests (5x speedup)
Skip async producer failover test for now, because it is broken
Version to 0.9.2 and Changelog (with some backstory)