This change makes _save_device_metadata only query the database
for the instance BlockDeviceMappingList if there are block
device mappings in the block_device_info dict. If there are none,
then there is no point in making the extra useless query to the
database.
A TODO is left in the code since this could be further optimized
if the DriverVolumeBlockDevice object would proxy the 'tag' attribute
from it's underlying BlockDeviceMapping object, but that is a bigger
change saved for another time.
The existing unit test is fixed up and another unit test is added
to validate that we don't query the database if there are no
block device mappings to process.
Change-Id: Ia879b97775125406bd4134f2438d8b988eabc41d