Update Google auth to support new JSON key format

Details

Description

Google introduced a new Service Account key format (JSON) and over time this will likely become the preferred format. We should begin by supporting this new format soon. If Google does make this the default, we may want to follow-up and issue a (debug | info) warning to users relying on P12 format.

AFAIK, there is no clear documentation on this format. However, if you open up the Developers Console and look under "APIs & Auth" -> "Credentials", you'll see the "Generate New JSON Key" button next to any existing Service Accounts (or be given the option to create one with a new SA).