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"

immutablelist only because we change default gson. Gson has the types I'm hard-setting here as defaults. http://code.google.com/p/google-gson/source/browse/trunk/gson/src/main/java/com/google/gson/internal/ConstructorConstructor.java