enableremote fixed, init now idempotent

Signed-off-by: Marek Jawurek <marek.jawurek@gmx.net>
ENH: detabified (assuming tab width 8) few places in favor of 4 spaces for consistency
Merge remote-tracking branch 'otherpullrequest/master'

Upstream does not reply communication. Merging other pull requests not merged by upstream.
detabified my changes
Added two issues that should be worked on. Could not find out how to post issues to my own repository.
Google no longer sends a content-length with the actual file content. This breaks the progress notification. This fix uses the fileSize property that is available at findInFolder and passes it to fetchPage
Frequent "500 internal error" http response appear when copying values to the googledrive.
Implemented retry with exponential backoff to handle that.

Should also be implemented for getFile if it also occurrs there.
Merge branch 'master' of https://github.com/marek-j/googledriveannex into retryon500
fixed some indentation errors
500 internal Error handling for checkpresent
cleaning up some code
Merge branch 'retryon500' of https://github.com/marek-j/googledriveannex into retryon500
For some reason, directories with the same name were created multiple times on googledrive. This lead to the situation where a file could not be found present in such a directory on googledrive and thus was re-uploaded. The file is then present twice on googledrive and takes up your quota.

THIS CHANGE BREAKS YOUR GOOGLEDRIVE REMOTE.

I decided to store all files flat under the base folder for the remote. The XY/AB directories thus do not exist on the remote.
The reason for this is, that for our purposes googledrive is a database and not a file store.
nk
Make Uploading more stable and resilient to network outages and resumable
Merge remote-tracking branch 'upstream/retryon500' into retryon500

Conflicts:
	git-annex-remote-googledrive
Progress tracking repaired
Port duplicated entries fixing here.
Merge remote-tracking branch 'marek-j/master'
Merge remote-tracking branch 'marek-j/retryon500'