Refactored & tested survey methods

Refactored survey.requirements and survey.mandatory_questions & wrote tests for them. All tests passing