libvirt: convert cpu features attribute from list to a set

Currently, the cpu features list which is being sent to libvirt,
when creating a domain or calling compareCPU, must contain only
unique entries. Multiple issues arise when we are updating the
features attribute in LibvirtConfigCPU class (for example during
migration).

This change will change the features attribute from being a list
to a set. This make the LibvirtConfigCPU class keep only unique
features.
Adjusting the LibvirtConfigCPUFeature class to support set
operations by overriding the __eq__, __ne__ and __hash__
methods.

Closes-Bug: #1303536
Change-Id: I6350fe0e827c860aea77cc4fe56f18f5c1483580
Add deprecation warning to nova baremetal virt driver

We have warnings in the other group C virt drivers and for cells, and
given the baremetal driver is deprecated and slated to be replaced by
the ironic driver, add a deprecation warning to the logs when the
baremetal driver is loaded.

Change-Id: Iaee8b7f7b4d32605e36fd72e893794066727fb65
Merge "Add deprecation warning to nova baremetal virt driver"
Merge "libvirt: convert cpu features attribute from list to a set"