Modified cohorts module to support the new workgroup type

This PR contains the addition of a new cohort type: workgroup. This type can be used to create various cohorts. To give you more context, this is used to create group projects between students, so they can also have a private/cohorted discussion in the unit.  Some detials:

* The current behavior of edx cohorts has not changed. It remains the same as before. All functions are using the CourseUserGroup.COHORT type as default.
* If we want to interact with a different type of cohort, we need to specify it with group_type=CourseUserGroup.WORKGROUP with the needed function.
* A user can now be in multiple cohort, ONLY if we specified it explicitly with the allow_multiple parameter of the add_user_to_cohort function. This shouldn't be used with the normal COHORT type, but might be for other types.
* The get_cohort() behave the same as before and will return only one user cohort. If you need to get multiple cohorts, you have to use this function with allow_multiple=True.
* In get_cohort(), auto_cohort is only supported for normal course cohort. (type COHORT).
* A new function is available: remove_user_from_cohort(), which is also used in views.py 
* We can use the type CourseUserGroup.ANY where appropriate to get cohorts of all types and not only from a specific type.

cc @antoviaque @jimabramson @gwprice @chrisndodge 

Let me know if you have any comments.
Given the single group per user per course, it might make more sense to tweak the existing cohort feature. If we allowed course authors to configure inline discussions for whether they should be cohorted, it seems like that would satisfy the needs of this use case.