Be sure to delete context and UserRole assignments when deleting an
object that is the related object for a context.
Fix typo
Merge branch 'develop' into feature/cleanup-contexts
Further permission-oriented cleanup

* Fix `ProgramEditor` description
* Ensure all relevant `ContextImplication` objects are removed
* Don't delete `Context` object itself, due to referential integrity
  issues
* Migration to do:
  - the above
  - remove all already-invalid `UserRole` and `ContextImplication`
    objects
  - remove `RoleReader` assignments
  - remove `RoleReader` `Role` object itself
  - remove duplicate `UserRole` assignments
Remove RoleImplication model

* Remove `RoleImplication` model
* Drop `role_implications` table
* Remove test for `RoleReader` creation
Merge pull request #1109 from reciprocity/feature/cleanup-contexts

65537300 When programs, audits, or other resources that define their own