Create an abstract QuestionSchema, and a FillInQuestionSchema that inherits from it

All existing places in the code where we instantiated questions are now instantiating fill-in questions instead.

Mongoose's support for schema inheritance leaves a bit to be desired, especially when it comes to polymorphic methods. Some of this, especially QuestionSchema.methods.submit (in lib/question.js) is kind of ugly. Maybe it would be better to implement the submit method differently, without relying on schema methods/statics, but rather just have a plain method in a module.

** This breaks any old quizzes that were created prior to this commit. ** They do not have the document id or discriminator type (__t) fields populated.