Change rsync command to write/read listing files not in binary mode and using UTF8 encoding. Fixes #215
Convert all files to absolute imports.

Also make all files consistently in this format:
  <license>
  <module docstring>
  <newline>
  from __future__ import absolute_import
  <newline>
  <built-in module imports>
  <newline>
  <third-party module imports>
  <newline>
  <gslib imports>
Re-add refreshing resumable upload state
Fix acl ch for -g AllAuthenticatedUsers
Perform GetObjectMetadata before attempting ListObjects on non-wildcarded URLs.

This change reverts non-wildcarded URL behavior to be similar to how it was in gsutil 3.x, where we assumed a non-wildcarded object URL was an object instead of a directory. It ensures that operations on non-wildcarded object URLs are not affected by eventual listing consistency. As a trade-off, we cannot flag the case where an object and prefix of the same name exist, and the directory will be silently omitted.
Expanding documentation
Merge pull request #218 from fishjord/gsutil_docs

Expanding documentation
Make update command provide more helpful error message when attempted from a Cloud SDK installation.
Fix resumable catch-up hashing bug, add tests
Indent bucket multiline fields (e.g., ACLs) in ls -Lb.
Changed gsutil -D to redact proxy config values in output
Implement SSL timeout for all httplib2 JSON instances
Add random jitter to retry attempts.
.
.
style issues
Move CalculateWaitForRetry to apitools utils.
Remove unused import.
Remove tests.
Fix indent.