Refactor scraper code to separate classes

Refactored section and course scraper code to use separate classes. Also added preliminary unit tests.