Instead of implementing availability zones in the service table,
availability zones are implemented using general aggregate metadata.
This patch does not remove availability zones from the service table, a
latter patch will do that.
* In theory supports a single compute node in multiple availability zones
* Drop availability_zone column from Aggregate table (is now a property)
* map aggregate metadata 'availability_zone' so API does not change
Implements blueprint aggregate-based-availability-zones
Change-Id: I2a2ac5bfaa526d639dff5efa392c051347dbd9bb