(#22233) Add facts from Google Compute Engine metadata service

Without this patch facter does not report fact values for the data
stored in the Google Compute Engine metadata service.  This is a problem
because the metadata service is a primary vehicle for end users to pass
in information about compute instances.  This information is often
necessary for automated configuration of the compute instances.

This patch addresses the problem by dynamically generating a list of
facts based on the data made available by the http://metadata service in
the GCE environment.  The behavior of these facts is to obtain a JSON
structured hash from the metadata service if the `virtual` fact has the
value of `gce`.
(#22233) Add license information for GCE facts

Without this patch there is no clear licensing information included in
the GCE facts.  This patch adds the license headers.
Merge branch 'erjohnso-gce' closes #523

* erjohnso-gce:
  (#22233) Add license information for GCE facts
  (#22233) Add facts from Google Compute Engine metadata service