Issue #9: Invalid files created at runtime

They are put into res/<type>_fail.txt.

- Creates 50 random courses, many of which are likely duplicates, with
conflicts that may not exist
- Creates 10 random professors
- Creates 5 random classrooms
Fixed #39.
Update command_line_doc.txt
Fixed #44, Fixed #45, Fixed #46
Issue #48
Issue #48
Fixed #48
Issue #9: Added explicit error handling

Previously, TestRunner simply caught unnamed exceptions, and printed a
generic message. Now, additionally, it catches explicit exceptions
(std::exception), and prints out their what() messages.
Merge branch 'master' of https://github.com/kgiesing/ClassScheduling
Issue #9: Added print methods for enums

Both the Weekdays and TimeBlock enums can be printed from ObjectPrinter,
and from VectorPrinter.
Issue #9: Created pass tests for Schedule.
Schedule class update
GeneticScheduleGenerator class

GeneticScheduleGenerator class created. But it has one bug.
Issues #43: Fixed reference bug
Issue #49
Issue #49
Update ScheduleWriter.cpp

this workaround of iterating over enums compiles
Fixed #50.
Issue #9: Created DataCreator.loadProfs()

That way, the vector of Course objects will have professor ID's that are
guaranteed to match a specific vector of Prof objects. Not that this
still doesn't guarantee that the Course vector is valid; it does not
check how many courses a professor teaches, and so may assign more than
three to one professor.
Fixed #51.