Refactor GoogleCredentials.get_application_default

This should have a diffbase of #83 but we can't specify those on GitHub.

As in #83 (after #82), I prefer to rebase this after #83 is merged.
why does this need to be a separate function?