Report the az based on the value in the instance table.

When attempting to find the availability zone of an instance
do so by first trying to locate the availability zone of the
host the instance is active on. If that fails then attempt
to use the value that is in the instances 'availability_zone'
key instead.

For the caching used in the availability_zones module there
was a new method added to get and reset the cache that is
useful for unit tests, since during each run of a test you
do not want to be affected by something in cache from a previous
test.

Fixes bug 1172246

Change-Id: I6f54a44cc87434120656ccc789cebcc08d434418
Merge "Report the az based on the value in the instance table."