Fixed Issue #81

I've changed the model to return all coures if the user has the
authorization to manage courses. Also instead of returning
CoursesAndUsers objects, I am returning Courses Object, since no
attributes from CoursesAndUsers are needed (eg. UserTypeForCourse)
except for Course. I've also reduce the number of attributes returned
to reduce the load.
Merged fix for allow admins to see courses
Make sure db URL is passed as string to alembic
Add db upgrade instruction to readme
Another overhaul of the answer pairing system.

This one gets rid of the rounds based system, which should improve
answer pair availability, this should fix #77. It is a bit more
processing intensive though, as this implementation goes back to the on
demand generation system. It shouldn't be too difficult to change back
to pre-generated answer pairs if necessary though.

The basic idea behind this overhaul is that answers which are scored
close to each other should get more judgements than answers which are
outliers from the rest of the other answers.

The AnswerPairGenerator class now contains all the answerpair generation
code. Like the previous system, it randomly pairs answers that hasn't
been judged yet first. Unlike the previous system, it'll be tolerant of
new answers coming in after judgements have been submitted.
Add db upgrade for previous commit.
Fix the cas logout issue
Remove protocol on MathJax JS src

This will let browser to load the correct protocol (http vs https) for
MathJax. Otherwise, browser will block the loading of the script