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
Move fetching last known offset logic to a stand alone function.

The `Consumer` class fetches the last known offsets in `__init__` if
`auto_commit` is enabled, but it would be nice to expose this behavior
for consumers that aren't using auto_commit. This doesn't change
existing behavior, just exposes the ability to easily fetch and set the
last known offsets. Once #162 or something similar lands this may no
longer be necessary, but it looks like that might take a while to make
it through.
also reset `self.fetch_offsets` in `fetch_last_known_offsets`
Add pylint to tox.ini; test both kafka and test; default to error-checking only; fixup errors; skip kafka/queue.py
Merge pull request #177 from zever/fetch-last-known-offsets

Move fetching last known offset logic to a stand alone function.
Add test timers via nose-timer plugin; list the 10 slowest by default
Raise TypeError in kafka.producer.send_messages if any msg is not a str (or subclass); document
Add producer unit test (test/test_producer.py); check supported types in send_messages
Merge pull request #211 from dpkp/str_only_produce_msgs

Strictly enforce str message type in producer.send_messages
Merge pull request #208 from dpkp/add_pylint_to_tox_ini

Use PyLint for static error checking
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
Fixup producer failover tests to avoid consumer message count flap
check message counts via consumer.pending() (OffsetRequest)
rather than relying on consumer message iterator (FetchRequest)
Version to 0.9.2 and Changelog (with some backstory)