In which we allow users to submit answers to questions

- Add basic CRUD for creating answers to questions
- Answers can either be text or the url of an uploaded file, but they must match the question type of their parent question
- The question type of a question can not be changed after it is created
- Answer have a question_type field that always matches the question_type of their parent question

@wilhow @maiamcguinness @malynda @thcrock
Returning the question type from this seems weird. I would expect some a function that starts with 'assert' to pretty much be a void (or maybe a boolean), but having it also grab the question type from the db is confusing. I'd recommend having one routine, called from one level up the stack, that grabs the question type, and then this would just take a question and answer.