Add base support for cohorted group configurations

TNL-649
Add support for user partitioning based on cohort.

JIRA: TNL-710

IMPORTANT: this commit converts the course_groups
package to using migrations.  When deploying to an
existing openedx instance, migration 0001 may fail
with an error indicating that the CourseUserGroup
table already exists.  If this happens, running
the 0001 migration first, with the --fake option,
is recommended.  After performing this step,
remaining migrations should work as expected.
Add group_access field to all xblocks

TNL-670
avoid errors when forward-migrating course_groups after south conversion

JIRA: TNL-937
Merge pull request #6160 from edx/jsa/tnl-937

avoid errors when forward-migrating course_groups after south conversion
Document the Open edX package.
Merge pull request #5942 from edx/cohorted-courseware

Cohorted courseware
Make a generic django field for storing OpaqueKey classes
Extract common base functionality for storing xblock fields in the relation db
Move lms.lib.xblock into lms.djangoapps.lms_xblock in preparation add database backed configuration to it
Add a configuration model for managing XBlockAsides
Teach LMS how to render XBlockAsides

[PLAT-217]
Disable XBlockAsides in Studio
Make ErrorDescriptor more resistent to errors
fixup! Teach LMS how to render XBlockAsides
fixup! Teach LMS how to render XBlockAsides