Take Survey — completes the 3 question views

- Improves answer components to match some of @hojberg's naming & patterns
- Normalizes the question types to be lower case and underscored, e.g. `yes_no`, `multiple_choice`, and `essay`
- Creates a TakeSurvey Controller View as route handler — this will hold the code to integrate with flux store to retrieve survey data and pass into the take_survey component