course and enrolment models

this depends on #19

1. new course model

2. course user relation model: enrolment
You use indexes when you want to find a set of related things. Postgres can use multiple indices when querying but you should only index what you intend to use.