Further fixes to chunked uploading

This patch primarily addresses v3.2, but also a potential bug/memory-leak (the last paragraph) in v3.3.

In 3.2 chunked uploads fail. I noticed that the $chunk (line #136) descriptor is allocated via "w", which is incompatible with reading. The result was a "successful" upload that left something 0 bytes in size.

It's important to specify 'b' with any `fopen()` call for Windows compatibility. Also for OS compatibility, I removed hardcoded slashes in favor of the `DIRECTORY_SEPARATOR` constant.

Also, when unlinking the parts of a chunked upload we don't want an open file handle to linger about.