Split Fixed uploads into chunks

Instead of reading the entire upload into a single string, we now
return one chunk each time the underlying [read] call returns some
data. This avoids using large amounts of RAM, hitting the 16 MB
string limit on 32-bit systems. It also allows the application to
begin processing the data before it has all arrived.

Fixes #153.
Merge pull request #154 from talex5/streaming-uploads

Split Fixed uploads into chunks