Modified the way the local and remote data transfer happens, so that it
uses the MediaIoBaseUpload model provided by Google for both.  This will
make uploading and downloading files from the drive more transparent to
the application and will make the API's fit nicely with what Google
already provide.  I identified that Google Drive does not support
document modification, which rules out append mode.  Hopefully append
mode will be supported some day.