Rewrote course recent_activity methods

- Using single method with parameter to specify activity type
- Added modules with accepted activity types and demographics
- Converting course_id to unicode in Course constructor (to un-offically support OpaqueKey)
I debated this myself. The API (currently) uses ANY as the default. I did the same here explicitly so that, if the API's behavior changes in the future (and we fail to create a new version), the client continues to behave as expected. That's a lot of ifs.