Support multipart uploads and large file downloads in demos/S3

These changes allow the s3server.py file to support multipart uploads and to serve very large files without memory starvation.

Please accept these changes.  Thanks :-)