Client: Fix bug in chunked uploader.

If a chunk gets uploaded but the response gets lost, we try again.
Upon retry, the server tells us our offset is at the end of the chunk.
Instead of considering the chunk done at that point, we were trying
to upload a zero-length substr() at the end of the chunk.

PHP's substr() considers it an error to try and do that.

Changed chunkedUploadContinue to treat that case as a successful
upload so we don't retry.  Also, generally perform more checks on the
offset returned by the server.

Thanks to Brian Reavis for reporting.