course and enrolment models

this depends on #19

1. new course model

2. course user relation model: enrolment
`eq(true)`, for consistency. it's a DSL, but `expect` takes `()` so I think we might as well...