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"

oh..

this probably helps

```java
api.aggregatedList().machineTypePage()

vs.

api.aggregatedList().machineTypes()

``

Used `api.aggregatedList().machineTypePage()` as it makes the method naming more consistent than `api.aggregatedList().pageOfMachineTypes()`