This adds flavor, old_flavor, and new_flavor fields to the Instance object.
Flavor information is persisted in blob format in instance_extra.flavor.
Compatibility with flavors stored in system_metadata will be maintained
for fetches. The information will be stored in extra.flavor on save. Because
we didn't store (all of) flavor extra_specs in system_metadata, a fetch of
the original flavor is required to merge the rest of extra_specs in before
we do the save. This will cause an additional lookup at load time.
Instances backported to versions before this change was introduced will
have system_metadata reconstructed/augmented with the flavor information
so that older nodes will be happy.
Related to blueprint flavor-from-sysmeta-to-blob
Change-Id: I4dff5267902362057cc5ee18357539b7192782cb