Re-designed question type

I wrestled with whether to have types of questions as subclasses or as
properties of a Question class. The previous commit used properties. Now
I'm trying subclassing because it feels more OO.