Only register the image with glance the first time we download it

This avoids a hard-to-detect race of glance image-show failing due to
running right after a glance-restart and us trying to re-create the
image, which leaves nova unable to address the image by name later.
Add a very cautious check of the nova service

This makes sure the API is live and that all the services are reporting as
happy. This is helpful when restarting nova after more than a minute, since
you need to wait for the service updates to happen before doing much.
Add a piecemeal upgrade scenario

This test does much the same thing that the regular grizzly2havana scenario
does, except this one does one service at a time. Effectively:

for service in keystone glance cinder nova:
  1. Shut down $service
  2. Upgrade packages for $service
  3. Upgrade the database schema for $service
  4. Start up $service
  5. Create a guest and make sure it's happy

If everything works, the result of the test is five running and healthy guests,
one created in the original environment, and one for each service upgrade step
along the way.