Implement #error and #valid? for nil input values on Answer
Populate state with answers, stay in same state when invalid answers
Date Answer validation messages
Salary Answer validation messages
Multiple Choice validation message, refactor not-nil check
Store accepted_responses on Engine::State
Implement #current_answers and #accepted_responses for State
Previous_question_pages on state no longer take argument
Stop treating "y" as a response in Api::State
set value of date answer to be nil if there was an error in parsing.
Use answer objects for Transition
Fix to_s formatting for salary
Document use of answer/response terminology
Use node names not titles in flow spec

This makes the tests less brittle in case we change the copy of the
question titles.
Merge pull request #80 from alphagov/input-validation

Input validation