Users could create a group type supporting consistent groups with
specification `'consistent_group_snapshot_enabled': <is> True`, then any
groups created of that group type are consistent groups, otherwise they
are generic groups.
The supported operations are:
- Create/delete consistent groups
- Add volumes to and remove volumes from consistent groups
- Create/delete consistent group snapshots
- Create consistent groups from snapshots
- Clone consistent groups
This change also does some refactor and puts extra capabilities report
together in `utils.py`, including the existing
`thin_provisioning_support`, `thick_provisioning_support` and the newly
one added for cg named `consistent_group_snapshot_enabled`.
Implements: blueprint unity-consistent-group-support
Change-Id: I0ef2ec959f892acb79d8d08a31d9a8ad47c4350f