Support fetching higher sizes until a message is returned.

If `max_size`, `min_size` and `fetch_step` are all given, then the Kafka
fetch will start at the minimum and fetch an increasing amount up to the
max until a message is fetched or the max is reached. The client still
will have to confirm on their end that a message is returned.
Re-order new fetch args so everything is backwards compatible.
Merge pull request #28 from DataDog/progressive_fetch

Support fetching higher sizes until a message is returned.