Add support for regions, and use them for cloud load balancing.

I thought about that, but having N different one line interfaces seems wrong, at the same time, I agree that it doesn't fit well within Zones.

Perhaps instead of returning a string from GetZone() I can return a Zone struct, and that zone can be populated with a Region as well as a zone?