Typed answers

All answers are parsed into one of the these types:

Smartdown::Model::Answer::Date
Smartdown::Model::Answer::MultipleChoice
Smartdown::Model::Answer::Salary
The Question models are responsible for specifying the type of answer expected.

This is the first step in being able to validate answers.
In a similar vein as the other pull request, I would suggest using ```Comparable``` here :-)