backport FeedableBodyGenerator from master
Merge pull request #734 from yanns/async-upload

backport FeedableBodyGenerator from master
Merge remote-tracking branch 'upstream/1.8.x' into skeebuzz-1.8.x