Initial code to implement a GCE GAHP. #3951

This code is based on the EC2 GAHP.
Initial code to implement a new gce grid universe type. #3952
Changes to gce_gahp. Now the commands work. #3951

* Add simple parsing of server responses.
* Build basic instance request, assumes no persistent disk and default
  network setup.
* Rely less on instance id, which isn't very useful.
Gridmanager changes for GCE. Now we can submit and cancel jobs. #3952

* Start ignoring instance id, which isn't very useful.
House cleaning around the gce_gahp. #3952

* Remove unnecessary includes
* Consolidate some files
* Import some std:: classes into global namespace
Use OAuth 2.0 service to get necessary credentials. #3952

Instead of assuming the auth file has a bare access token, we now expect
to have a refresh token and related data, formatted in JSON as generated
by the gcutil command-line tool. We use that information to obtain an
access token from Google's OAuth 2.0 service. When that token is close
to expiring, we obtain another one.
Minor fixes to GCE code to build on all platforms. #3952
Reduce copying with ParseLine() in gce_gahp. #3952
Wait for asynchronous requests to finish in gce_gahp. #3952

Some requests in GCE return immediately, before the operation has taken
place. The response includes a handle that can be used to check the
status of the operation later. Instance creation and deletion work this
way. The gce_gahp now waits for these operations to complete, polling
their status periodically.
One side effect of waiting is that we can now return the instance id in
the results of GCE_INSTANCE_INSERT commands.
Remove some old debugging code.
Support setting of metadata in the gce_gahp. #3952

Metadata can be set directly in the submit file or in a seperate file,
similar to EC2 user data. The formatting is different, as GCE metadata
is ascii key/value pairs.
Metadata given in the submit file via gce_metadata is formatted
identically to the job environment attribute.
If a seperate file is used, it must contain one key/value pair per line,
with '=' or ':' as the seperator, and all whitespace is not ignored.
Simplify threading code in the gce_gahp. #3952

Remove unneeded code from when there were many fine-grained locks.
Improve cancelation code for gce jobs in the gridmanager. #3952
Modify the syntax for GCE metadata to be less Condor-specific. #3952

The gahp shouldn't have to understand Condor's goofy syntax for
specifying environment variables.
Build proper GCE default network interface name. #3952
Fix copyright date on new gce gahp code. #3951
Add formal document describing GCE GAHP protocol. #3950
Merge branch 'master-gt3833_gce-branch'