course and enrolment models

this depends on #19

1. new course model

2. course user relation model: enrolment
should not need. can try. if it fails then I'll have to fix `with_tenant`