Fix for os-availability-zone/detail returning 500

if there are no enabled_services, then zone_hosts is very likely
to be empty, which means zone_hosts['nova'] will fail. So let's
use get with a default of empty array to cover this case. Added
a fix/test for v3 API as well.

Fixes LP# 1226791

Change-Id: I602c96242291fd9a4bdf67af6445aa935ec7f7e3
Merge "Fix for os-availability-zone/detail returning 500"