Better handling of duplicate training essays

RE: ORA-640  We need to better handle duplicate essays in student training. The current design creates a unique hash of all training examples via
* answer
* rubric
* selected options.

The validation I am proposing on edit is even more strict than that: do not allow the same "answer" for two training examples. If an author attempts to save two examples with the same answer, it will now fail validation.

Client-side, the mixin is slightly more flexible (it will not bomb out). This should not be a state that will occur any longer, but I'm willing to add some type of "Error while loading" messaging to the template if we want to be safe.

@wedaly @gradyward for code review
@Lyla-Fischer @lou-wang for proposed solution, error handling, validation choices, etc. 
We couldn't load the student training step of this assignment.