course and enrolment models

this depends on #19

1. new course model

2. course user relation model: enrolment
actually, no we should make these roles generic. please think of better names.