Publish sections/subsections/units from course outline. 

**Tickets:** [STUD-1911](https://openedx.atlassian.net/browse/STUD-1911), [STUD-1932](https://openedx.atlassian.net/browse/STUD-1932)

**Acceptance criteria:**
* Selecting the Publish option from the course outline should bring up a pop-up confirming the publication of all unpublished changes for the section/subsection/unit, with options to publish or cancel publishing. 
* All course content in that unit should be immediately be set to “Public” and be visible to students if the release date is in the past. 
* The course outline should update to reflect the published status after the bulk publish action.

Sandbox: http://tymofij.m.sandbox.edx.org/
Performance is not affected.
Nice catch. Indeed, relying on visibilityState brought consistency to the code but took away the ability to publish staff-only-and-having-changes units from outline.

It is easy to add different condition for verticals in outline and modal dialogs, but that will not solve the issue for having-just-staff-only-units sections or subsections: they will not have publish buttons and will not be present in modal dialogs. Looks like `has_changes` for sections/subsections would still be a better option.