WIP - Add Studio support for cohorted courseware

TNL-652
@explorerleslie I'm thinking about the case when we support visibility controls on things other than just components. This code will work just as well for sections, subsections and units, so I don't want to call them components.