Ensure Program to NULL ContextImplication objects exist

* This implication is required for `ProgramBasicReader` role to work as
  expected
* Includes a migration to create missing `ContextImplication` objects
* Adds to the `@Program.model_posted` hook to create new
  `ContextImplication` objects as needed
Don't create RoleImplications or use RoleReader anymore

* These are succeeded by `ContextImplication` objects and
  `ProgramBasicReader` roles
Ensure all necessary roles have Category-read permissions

* Both `ControlCategory` and `ControlAssertion` are needed
Add Task-read permission for System-wide Reader role
Merge pull request #1122 from reciprocity/feature/fix-context-common-implications

Fixes for a couple issues