Added tests. Cleaned up code. Added courses to the frontend.

* Added tests for version and course. 
* Added course on the website. 
* Cleaned up argument parsing