Big cleanup on Google Compute Service

 * 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"

We had a similar naming convention in this provider in the past. ListPage type currently only exists here and google storage. google storage isn't consistent with this as it still needs at least 40hrs of cleanup. The name suffix is to dodge method parameter clash with the paginated version.