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
Handle New Topic Creation

Adds ensure_topic_exists to KafkaClient, redirects test case to use
that.  Fixes #113 and fixes #150.
Fix Py26 test cases
Update setup.py
Merge pull request #184 from itsyarkee/master

Update setup.py
Set module version in separate VERSION file
Bump version to 0.9.1
Merge pull request #174 from wizzat/new_topic

Handle New Topic Creation
Add Fixtures.download_official_distribution to get binaries from apache.org
Download official binaries from apache.org for integration tests
Add resource templates for kafka 0.8.1.1 test fixtures
Use kafka_run_class_env() to set environment vars in test fixtures
Use travis env vars to run kafka version tests in parallel
Remove kafka src submodules
Add kafka 0.8.1.1 to integration tests.
- previous 0.8.1 src appears to have actually been 0.8.1.1
  based on git submodule commit.  So technically this adds back 0.8.1
  to the test suite.
Update tox.ini to use {posargs} to configure nosetests.
To override defaults, use
  `tox -- --your --nosetest --options --here`
Update default nosetest settings to use verbose logging and show test ids
add .coverage and .noseids to .gitignore
Add example for running single unit test to README
Increase fixture wait timeout to 30s; add wait-time logging
Support integration testing against kafka source builds (see README)
Merge pull request #193 from dpkp/test_apache_binary_release

Use Kafka Binaries for Integration Tests (Issue #176)
Add KafkaTimeoutError (used by client.ensure_topic_exists) and add a test