Added basic autopopulation, updated parser

Basic autopopulation goes through single class requirements first, then
level requirements.
The parser was updated to also get fields of P/NC and communication
intensive. CourseModel was updated to have public sets, because this is
required in order for CSVHelper to work.