Add support for courseware partitioning based on cohort.

@andy-armstrong @cahrens 

suspect i'm going to need to wire something into stevedore - @andy-armstrong ?

please take heed of the notes in the first commit message - there's a database migration needed. 
Thanks. I like the idea.

Is there a plan to socialize this new coding convention? I'll give a heads up to our team - they might have some follow-on questions. Thank you.

FYI: @mattdrayer @martynjames @antoviaque