#71: Created ScheduleCalculator

The ScheduleCalculator has a static member function called
calculateScore(). It will calculate the score for the entire schedule in
linear time, relative to the size of the schedule.
Issue #71: added range check

See Issue #82. Avoids crashing when the professor ID of the course is
not included in the vector of professor ID's passed to the schedule.
Issue #9: Added tests for ScheduleCalculator

Tested as a sub-component of GeneticScheduleGenerator. Tests a
randomly-created Schedule, with both linear and weighted
ScoreCalculators.
Issue #9: Updated Makefile.

Since I added a test class, it must be added to the Makefile. So I did.
The Makefile was generated from Code::Blocks using the cb2make utility.
Ignoring Visual Studio unsuccessful build files.
Issue #9: Unit testing possible

The main() function now accepts a command-line argument to make unit
testing possible. The switch is "-c" followed by the name of the
(concrete) class you want to test.

For example, if you want to only test the GeneticScheduleGenerator, and
not any of the subtests, you would pass "-c GeneticScheduleGenerator" on
the command line.
Issue #9: bug fix and output improvement

The switch for "-c" was being tested as a switch for "-i"; fixed.

Also, added message when sub-component testing is skipped.
Issue #9: Random Schedule is much bigger

The Schedule generated by DataCreator is much bigger now. This is so
that the GreedyScheduleGenerator class can be more thoroughly tested.
Fixed #82; made additional bounds checks

This issue only specified map keys, but the same problem would happen if
out-of-bounds Weekdays or TimeBlock values were passed. Fixed both.
Rolling back #80.
Issue #9: Improved Schedule test

Swapped duplicate and original pointers before deleting. This mimics the
behavior in GreedyScheduleGenerator that is causing a crash.
Issue #83: Created hook

Efficiency testing requires a hook method in TestRunner.
Issue #83: No, really, created hook

What I created in the last commit is not the hook, but the public method
that calls it. This time I actually created the hook. Also, the methods
are named properly (this is "stress" testing, not "efficiency" testing).
Issue #83: Added command-line switch

Stress tests will not be run unless "-t" is passed on the command line.
("-s" was taken.)

Also, refactored main() a bit to make it a little less repetitive.
Issue #83: Stress tests are only ones to be run

If you're running stress tests, it's likely because the other components
have already passed the other tests. So, passing "-t" on the command
line disables running the other tests.
Issue #83: Stress tests for Schedule

Stress testing the Schedule object.
Issue #83: Stress tests for greedy algorithm
Issue #83: Stress tests for ConflictPreprocessor
Issue #83: Stress tests for ScheduleCalculator

This is the static class that runs the linear-time score calculations
for a schedule.
Merge remote-tracking branch 'origin/master' into genetic

Conflicts:
	src/GeneticScheduleGenerator.cpp