backend: RNG device sources reporting

This is a follow-up to original VirtIO RNG patches (18176, 18497).

This patch adds
 - required rng sources to cluster (set by admin),
 - supported rng sources to host (reported by VDSM).

The host-supported rng sources must comply with cluster-required rng
sources, otherwise corresponding host is set to non-operational state.

Configuration:
- VirtioRngDeviceSupported config value which cluster versions are
  allowed to operate with virtio rng devices
- ClusterRequiredRngSourcesDefault config value contains comma-separated
  value with rng device sources that are required by newly created
  clusters (e.g. "random,hwrng")

(Notable) affected behavior:
- rng device crud:
  - AddRngDeviceCommand: the rng device is not added when it's source
  doesn't comply with the cluster required rng sources
  - UpdateRngDeviceCommand - now when the admin
  weakens the rng sources requirements for a cluster but some VM in this
  cluster has a random number generator device with this source
  assigned, this device is deleted when UpdateRngDeviceCommand is
  invoked (which happens on VM/Template update).
- cluster crud:
  - when adding/updating cluster, the logic checks if its version
  supports rng devices (configurable via VirtioRngDeviceSupported).

Change-Id: Id60a39118aef439146e6f0f308eec84e1ccaab9a
Signed-off-by: Frantisek Kobzik <fkobzik@redhat.com>
Bug-Url: https://bugzilla.redhat.com/977079