Remove TODO from gcloud.storage.bucket.

Re-introduced in 2f930652860400831e9fc1f3ef2dbf7179fcce26 after
being removed for #162 as part of the effort in #175.
Updated docstring on Key.rename() with a warning.

I have a pending request to the GCS team asking if this is a reasonable thing to have exposed, however based on our conversations in #99 and #224 it seems that it needs to exist regardless (if we don't provide it, people will just do this on their own).

That said, we need to be clear about what's happening under the hood in the short part of the docstring. If someone is frequently "renaming" 5TB objects (that's the maximum size currently), this could actually change their bill a lot and make the GCS API do some ridiculous amounts of work. For small objects this shouldn't really be a problem.
Revert "Updated docstring on Key.rename() with a warning."

This reverts commit aa2e66a7de78d46aa4b9b7bc02ba6acb84406ae5.

This was meant as a pull-request, not a direct commit.
Updated docstring on Key.rename() with a warning.

I have a pending request to the GCS team asking if this is a reasonable thing to have exposed, however based on our conversations in #99 and #224 it seems that it needs to exist regardless (if we don't provide it, people will just do this on their own).

That said, we need to be clear about what's happening under the hood in the short part of the docstring. If someone is frequently "renaming" 5TB objects (that's the maximum size currently), this could actually change their bill a lot and make the GCS API do some ridiculous amounts of work. For small objects this shouldn't really be a problem.
Merge pull request #236 from jgeewax/master

Updated docstring on Key.rename() with a warning.
Finish un-API-ifying datastore._helpers by removing from docs.
Removing gcloud.credential.Credential class.

No instances of this class were ever created and it only had
one factory method, which is now a function. This class was
also misunderstood / misreferenced in the docstring mentions.
Updating docstring on credentials.get_for_service_account function.
Merge pull request #235 from dhermes/remove-credential-class

Removing gcloud.credential.Credential class.
Merge remote-tracking branch 'upstream/master'
Lose trailing whitespace.
Adding pylintrc config and custom runner and making it pass.

Some key things to notice:
- The tools (pep8 / pylint) disagree about continutation lines.
  This is because PEP8 is ambiguous about "multi-line constructs".
  One of the examples for bracket indentation in the PEP is

      my_list = [
          1, 2, 3,
          4, 5, 6,
          ]

  but the PEP doesn't explicity say whether or not

      my_list = [1, 2, 3,
                 4, 5, 6,
                 ]

  would be allowed. As it turns out, pep8 (the tool) considers
  the latter to be a continuation while pylint does not.
- I changed all indentation where this was a problem, but was
  intentionally inconsistent. This way we can see "all options"
  and discuss whichever is preferred.
- I made a _MetadataMixin helper class for methods shared between
  storage.Bucket and storage.Key. I did not refactor the affected
  tests but they do still give 100% coverage.
- To silence docstrings warnings I added many bogus docstrings
  without actually documenting the given objects.
- I factored out part of
      storage.connection.Connection.generate_signed_url
  into a _get_expiration_seconds() method and added tests.
  This method is untested (has pragma no cover) and is still very long.
  I refactored because pylint complained about too many locals.
- I made sure tox -e lint and tox -e cover passed.
- I increased the maximum number of arguments from 5 to 10 and
  the maximum public methods from 20 to 30. Offenders were:
    - storage.connection.Connection.make_request (6 arguments)
    - storage.connection.Connection.api_request (9 arguments)
    - storage.connection.Connection.generate_signed_url (6 arguments)
    - storage.bucket.Bucket (27 public methods) and
    - storage.key.Key (23 public methods)
  I think refactoring these should be considered (though is not
  mandatory). I certainly don't know a good solution for the class
  public methods.