GCE is missing ProviderMetadata and locations needed rework.

This change adds ProviderMetadata, which allows us to properly tag locations of zones. It also uses the built-in location features from jclouds core, which allows you to do things like set the property jclouds.zones to constrain locations.

Not quite ready to merge, as I need to adjust one expect test.
all location stuff derives from this. this results in some network request dedupe. I'll comment it in the final draft.