Include exception in custom constraints errors

This refactors constraints to use a shared base class that includes the
error message when validation errors happen.

Co-Authored-By: ala.rezmerita@cloudwatt.com
Closes-Bug: #1297371
Change-Id: Ia382f53d85d83c8c474ad8bda93c6d65f16cfca9
Make Server CONFIG_DRIVE property a boolean

There's no reason for CONFIG_DRIVE to be a string.  It only accepts a
boolean.

Related change in python-novaclient:
https://review.openstack.org/#/c/91169

Change-Id: I2ff588537fbe72fefed0163b69e68c4f484a38e7
Merge "Include exception in custom constraints errors"
Merge "Make Server CONFIG_DRIVE property a boolean"