Jonahstanley/refactor unittest courses

Refactored the unittests so that they do not rely on the full course.
Where I could, I used course factories instead of the toy course.  Where toy course was needed, I added the minimal amount of files in order to have the test work correctly and pass.