Add GoogleComputeEngineProviderMetadata and implement dynamic Location suppliers.
Consolidate operation state management.
Use InstanceTemplate.name as opposed to ignoring it.
Fix support for bearer tokens
 * Rewrites InstanceTemplate as NewInstance, strictly from docs.
 * Rewrites Metadata to have the same shape as in json, avoid really complicated json parser.
 * Rewrites GoogleComputeEngineServiceAdapter.createNodeWithGroupEncodedIntoName to use less network requests.
 * Removes untested aspects of TemplateOptions, except additional disks.
 * Removes complexity around location by using aggregate apis, which removes custom location module
 * Switches to uris as ids, which removes the InstanceInZone and MachineTypeInZone class
 * Stop using metadata to temporarily store jclouds image id as it is reachable via disks[0].source -> disk.sourceImage
 * Starts using MWS, which makes it possible to read the offline tests for compute service
 * Reduces newlines needed in tests by switching mock project name to "party"
  * Removed the need for users to manually specify the current project name everywhere.
  * Documented why we implicitly lookup project name using project id; corrected README, pom, ApiMetadata and added tests.
  * Introduced jclouds.google-compute-engine.project-name property used to adjust the project commands affect.
  * Flattened quasi-generated pagination classes into package-private members of their callers.
  * Removed invalid fallbacks for lists. List responses are empty; they don't return 4xx!
  * Adjusted test configuration to allow bearer token properly.