Migrated most of the data handling to Courses.cs

Cleaned up the code, and commented. Removed some unneeded comments.
Moved the View model "Item" construction logic into Courses. At the
point, the majority of non-GUI data manipulation has been moved into
Courses.cs. Changes are only reflected in save/load, so I think we may
run into issues when editing specific fields of pre-existing fields.
Also, all data is in string form right now, so mathematical manipulation
will take extra work.