Plumb scheduler hints support for instance launch.

Work out all the naughty interactions with availability zones.

Change-Id: I97e748ee2241e38de354d642b058ee08e11ccc2e