Refactor storage credentials
Storage introduced credentials in the public namespace google::cloud::storage::oauth2. These credential classes are now deprecated in favor of GUAC (google::cloud::Credentials):
https://github.com/googleapis/google-cloud-cpp/blob/80a518a357c93eec7ddc49666efcd7984135dafb/google/cloud/storage/oauth2/credentials.h#L45
However, the storage internals are implemented in terms of google::cloud::storage::oauth2::Credentials.
https://github.com/googleapis/google-cloud-cpp/blob/80a518a357c93eec7ddc49666efcd7984135dafb/google/cloud/storage/client.cc#L50
We map GUAC -> storage credentials.
https://github.com/googleapis/google-cloud-cpp/blob/80a518a357c93eec7ddc49666efcd7984135dafb/google/cloud/storage/client_options.cc#L296-L300
This is backwards. We need to map storage credentials to GUAC and use GUAC in the implementation, if we ever want to remove the deprecated credentials in google::cloud::storage::oauth2.
For the record, we do not need to refactor. We can "delete" the storage::oauth2 classes by moving them into storage_internal and keeping the implementation mostly the same.
We might do this to unblock the next major release.
It is just that the resulting implementation would be unnecessarily complicated compared with using GUAC types.