Fix and improve protection handlers.
Fix child regions not inheriting parent flags.

This also fixes a unit test.