fixes #24571 - support private keys from new google developer console

the new developer console provides private keys in a different way, then the old google cloud console. one way is a .json file that can be downloaded in the console. the other option is to use a .p12 keystore to authenticate a service account.

this pull request improves the private key handling. the user only needs to upload one of the mentioned private key files.

see [Jenkins Issue #24571](https://issues.jenkins-ci.org/browse/JENKINS-24571) for more details.
could use #readResolve() to load this key instead of doing lazy-initialization every time.  that would also avoid synchronizing / marking this field as volatile.