course and enrolment models

this depends on #19

1. new course model

2. course user relation model: enrolment
Just note that I don't have much experience writing tests. Ruby style guides use `is not` and `does` to describe negative behavior - I think that makes sense. Unless we have a better alternative, we can stick to this?