Make resize/migrated shared storage aware

Fixes bug 1177247 (for stable/grizzly)

Added some logic to check for whether or not we are on a shared
filesystem and set shared_storage accordingly. We perform similar
checks in other areas of the code, typically through RPC calls.
However, all the resize/migrate code is slated to be refactored for
Hava, so the idea was to keep this patch as minimally intrusive as
possible.

When shared_storage is true, we pass that on to the cleanup call
so that it no longer executes an rm via SSH, which was ultimately
destroying the original instance directory.

Change-Id: Ie9decedd373c000211c171df64e1e96fe78e5081
Cherry-Pick: 9290bddd9f270d8ea4fbd6d953a8634473979cd5
Don't pass empty image to filter on live migration

If live migration for a volume backed instance without an image supplied
is initiated with no destination supplied, image is set to None.

This value will cause one of the default filters - the
ImagePropertiesFilter to throw an exception in it's host_passes method,
as it expects an image to be a dictionary.

We solve this by leaving out the image entirely before engaging filters.

This patch is intended for stable/grizzly only, since live migration
functionality is being heavily refactored in Havana at the moment and
the code from the patch that introduces this bug
(Ie683a3ca5d6430c52ead77b41f98fbcb4114ea1e) was
accidentally dropped in I6de33ada6dc377e20f8df07da92244f2c150b9fe.

Fixes bug: 1199811

Change-Id: I8a5f1b176addbe09c8d8b5f1d1136d05af53ce3e
Merge "Don't pass empty image to filter on live migration" into stable/grizzly
Merge "Make resize/migrated shared storage aware" into stable/grizzly