Issue #16: LinearScoreCalculator uses pointers

A std::map value object needs to have a default constructor. This
obviously won't work with ProfInfo, which needs to be associated with a
particular Prof object. So, the std::map now holds pairs whose value is
a pointer to a ProfInfo object. This means that it needs a destructor.
Also, I made the objects non-copyable by setting the copy constructor
and assignment operators to private, and unimplemented.