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
Default to appropriate type for metric. #4151

Instead of reporting all metrics as double by default, report
integers as int32, real numbers as float, and boolean as int8.
Also, add the ability to scale numbers when reporting. Can
report dutycycle as a %.
Add version metric;Scale DaemonCoreDutyCycle #4151

Add the ConverVersion metric. Scale Daemon Core Duty Cycle by
100 and set the units to "%".
Fix parallel universe schedd crash #4163

Problem was a re-entrant walking of the job queue.  Only triggered
when periodic expression tried to remove a parallel universe job.
fix header for condor's vsnprintf so we link to it on windows instead of the one in the c-runtime.
add -quick option to condor_who for use in test suite #4147
-quick modifies -daemons so the result is quick (and possibly stale).
===VersionHistory:None=== not a user visible option.
Merge branch 'V8_0-branch'
Document #4163