[Permissions] Separate Unpublish from Publish in Course Roles - Manage Courses sub-permissions

Problem statement:

We have a script that published all of our courses on the first day of a term. This makes is very easy for students to find their courses and ensure they are registered for the right things. We advertise this functionality to teachers ahead of time, so they know their course needs to be student-ready by the first day of the term. Unfortunately, until students submit something, teachers can unpublish the courses if they choose to, which really confuses students. We want teachers to be able to publish courses early on their own if they want, but we do not want them to be able to unpublish the courses once they are published. We had some JavaScript in place for this, but when the UI for publish/unpublish changes, those customizations were broken. Someone coded some new JS for us, but this really should be built-in functionality that doesn't require customizations (that teachers could easily bypass).

Proposed solution:

In addition to the current "Courses - publish", there should be a separate "Courses - unpublish" permission which we could set separately, and that Canvas would then appropriately follow based on the current state of the course.

User role(s):

admin,instructor,ta