course and enrolment models

this depends on #19

1. new course model

2. course user relation model: enrolment
@lowjoel pls look at my tests again, I think I've found an elegant want of doing it :)