[#49833675] Don't create blank answers for unfinalized questions.

- When adding responses from web.
[#49833675] Show only finalised questions in the excel output.
[#49833675] Clean up the JSON output of the question, category and option (backbone) models.

- Use a whitelist instead of a blacklist
- Option model uses `{ option : { attr1: value, attr2, value }}` instead of `{ attr1: value, attr2, value }`
[#49833675] Survey#finalize finalises all its elements as well.