Initial checkin of LearningAgent abstract base class