Self-assessment (Tim-240)

Changes:
* Rename "peer" Django app to "assessment".
* Implement self-assessment API, XBlock handler, and JavaScript
* Fix a bug that would allow users to submit rubrics without specifying all options.
* Fix a bug that would cause a validation error if feedback was set to an empty string.

Notes:
* I'm anticipating some changes that @ormsbee plans to make to the Assessment model; these are marked as "TODO" in the comments.  Once those changes land, I'll rebase and clean these up.
* @talbs I created a new placeholder template for server-side render errors.
* @srpearce I'm using terms like "Incomplete" and "Grading" to display in the step name (see `self_assessment_mixin.py`), but I'm not sure this is consistent with the terminology we use elsewhere in the UI.

https://edx-wiki.atlassian.net/browse/TIM-240