Add encryption support for volumes to libvirt

Add support to encrypt Cinder volumes. Hooks within the libvirt
driver encrypt volumes during the attach call. Created a
VolumeEncryptor interface as well as several concrete subclasses
(e.g., CryptsetupEncryptor and LuksEncryptor) to handle encryption.

This feature depends upon related changes that have been accepted
into Cinder (e.g., storing encryption key UUIDs for encrypted
volumes).

Implements: blueprint encrypt-cinder-volumes
Change-Id: I358813b3ecde4f88de7202c1c07d9b1168c2c332
SecurityImpact
Merge "Add encryption support for volumes to libvirt"