Remove unused oslo.config import

Change-Id: I7cc52bfcda72faf9fbdf67553d21b35823505dd6
Check that volume != root device during boot by image

Currently, if an instance is booted by image and a volume is also
specified, if the volume name == the root device name, the instance
boots from the volume instead of from the image. This change adds a
check that the volume name != the root device name if an image is
specified and raises InvalidRequest if the check fails.

Closes-Bug: #1343924

Change-Id: Id967e04483b9fd12fae0bc9bee1a3e7b978b9fd1
Added objects Tag and TagList

Also field 'tags' was added to the instance object.
These objects will be used in new instance-tags API extension.

Implements: blueprint tag-instances
Change-Id: I34ec32f0b3704b01aaca9c0cb2b34eb6d3107513
Don't mock external locks with Semaphore

The firewall tests were mocking an oslo.concurrency external lock
with a vanilla Semaphore, which is not correct and broke in the
most recent oslo.concurrency release because the external locks
no longer happen to match the API of Semaphore.

The correct way to handle external locking in unit tests is now
to use the external lock fixture in oslo.concurrency.

Change-Id: I372c79e6b77614f2006d111bb538beacf323ee0c
Merge "Added objects Tag and TagList"
Merge "Check that volume != root device during boot by image"
Merge "Remove unused oslo.config import"