Cleaned up code in Question, QuestionSet, and Datapoint. Added some simple validation.