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.
Good point. More future creep.

However, I think it's fine as-is since the plan is to add the 3LO extensibility in to `_get_implicit_credentials` as an optional code path.