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.
{Json,P12}QualifiedPrivateKeyFile wouldn't exactly reassemble what this classes are doing, because the are not just KeyFiles, but they are holding keyfiles and additional informations.
this classes are also no private keys but they are holding private key files + accountid. so i'm not sure how to name them, but somethink with "PrivateKey" or "File" seems to me not fitting here.

how about {Json,P12}ServiceAccountIdentity or just {Json,P12}ServiceAccount?