course and enrolment models

this depends on #19

1. new course model

2. course user relation model: enrolment
normally we use context when there is an opposite negative case
https://github.com/reachlocal/rspec-style-guide#context-cases
http://betterspecs.org/#contexts