Issue #16: Added getters/setters to ProfInfo

We should retrieve score, Weekdays, and TimeBlock separately from info;
added getters and setters for each.
Issue #16: Moved map code to base class

The std::map, as well as all the code to handle it (virtual destructor,
private copy constructor/assignment op, etc.) are common to both
subclasses. To eliminate code redundancy, I moved all the relevant code
to the base class. Also added a method to get a pointer to the ProfInfo
object, or create one if it doesn't exist in the map.