Textit questions

Overview
------------

These changes are to help make the system more flexible, so that questions can be changed without affecting the meanings of previous surveys.
1. Major report parameters are calculated when a SurveyQuestionResponse is saved:
patient_satisfaction, survey_participation, survey_completion (in the Visit model)
positive_response (in SurveyQuestionResponse model)
2. The report headings are de-coupled from the SurveyQuestion labels (which will require that we get more fitting names for the report headings)

Details
---------

Added new fields to Visit model:
   - satisfied (to indicate if a patient is satisfied)
   - survey_started (to indicate if the patient responded to the survey)
   - survey_completed (to indicate that the patient has completed all the required survey questions)

Also added fields to the SurveyQuestion:
   - display_label (so that question labels are de-coupled from headers, etc on reports and potentially multiple questions can be used for same report)
   - last_negative (to support the convention of having the last item in a categories list be -ve e.g. 'Wait Time')
   - last_required (to indicate that with this response the survey is effectively complete)
   - for_satisfaction (to indicate that this question is used in determining patient_satisfaction)

Added a field to SurveyQuestionResponse:
   - positive_response (to indicate that the response is a positive one. This removes the need for expensive and complex calculations for reports)