Will/grady/self assessment feedback

@wedaly , we should talk about the Test changes and the changes to models/base.py
It would be more idiomatic to do:
```
if criterion_name in self_criteria_feedback:
```

Alternatively, you could just do:
```
criterion['self_feedback'] = self_criteria_feedback.get(criterion_name)
```
and rely on the template to do the right thing when `criterion['self_feedback']` is `None`