Other group access

Here's the code allowing the XBlock to use a different workgroup than that of the viewing user. This is accomplished by setting a user preference from within embedding application, and then the XBlock uses this preference to explicitly set the group.

Note, there is no security on this yet (but it will come), this allows the functionality to be tested so that defects introduced by the security implementation can be easily identified