Extend preview to support cohorted courseware

This is a version of #6140, on top of Jim's access control PR.
Why isn't this in a views.py file?