Controls owned by Directives are now unmapped instead of deleted

Controls that are owned by Directives used to be deleted, regardless of whether they had been mapped to other objects. Now controls can only be deleted from their own page, and are unmapped from the directive page (like Regulations). This required adding a new "orphaned" event to Controls, which acts similarly to "destroyed" when cleaning up data across the app.