Call _post_downgrade_### after downgrade migration is run

Fixes bug 1195470

Tests are currently only run after a upgrade during the database migration
unit tests and never during a downgrade. This change calls an optional
_post_downgrade_### method after running the downgrade migration to allow
it to be tested as well.

Change-Id: I592424b464b91c2be9e253402986e673ce33c8d0
Add unit test for migration 012

This continues implementing unit tests for the migrations that are
currently missing them

Change-Id: I08b92532d1469ee03b976e2522e12a4540f0dae2
Notify error not called on upload errors in V2

The 'upload' method in glance/api/v2/image_data.py catches a couple of
exceptions, but does not send notifications for any of them. They should
also be sending notifications as is being done in v1.

Fixes: Bug #1217837
Change-Id: Ie38307f514c1716dce31403d9ef57eae8290450d
Rule parser for property protections

This patch introduces the way protected properties
will be configured and parsed.

Related to bp api-v2-property-protection
docImpact

Change-Id: I3d24cacccf3f51b07a4090b8a5db1f2451090762
Property Protection Layer

This patch introduces the property protection layer and the tests
associated with it

Related to bp api-v2-property-protection

Change-Id: Iaf2111bf07377ef6a4c89a621888077cc14be776
Enable protected properties in gateway

Related to bp api-v2-property-protection

Activate property protections if the config value is set.
Added the corresponding functional and unit tests.

Change-Id: If38604d812c34416b8369bf6f868a0f2509c2649
Update schema descriptions to indicate readonly

Longer term we may look into using the json hyper-schema readonly
attribute, but for now this will allow the user to see up-front
which properties are actually read-only and cannot be changed.

Change-Id: I8c8b94732c219fe61caa584527921b65217bea30
Merge "Notify error not called on upload errors in V2"
Merge "Update schema descriptions to indicate readonly"
Merge "Rule parser for property protections"
Merge "Property Protection Layer"
Merge "Enable protected properties in gateway"
Merge "Call _post_downgrade_### after downgrade migration is run"
Merge "Add unit test for migration 012"