Feedback per criterion

[TIM-433](https://edx-wiki.atlassian.net/browse/TIM-433)

Changes:
    Implement feedback per criterion (XML, backend, JavaScript, and templates)
    Remove unused start/due date args in xml parsing
    Use textarea attribute to limit submission/feedback text length instead of JavaScript checks.
    Server truncates submissions/feedback that are too long instead of raising an exception.
    Refactor peer step JS into its own source file.
    Move JS namespace and gettext stub into a shared file.
    Add scrollTo for turbo grade submission.

Notes / open questions:

@Lyla-Fischer What character limits make sense for feedback on criteria and overall feedback?  Right now I'm setting them to 300 characters for per-criterion feedback and 500 characters for overall feedback.

It looks a little odd to me when the last criterion has a feedback text box, then there's another text box right after it.  Is it just me, or could we do more to clarify the difference between the two text boxes?
![image](https://cloud.githubusercontent.com/assets/2948394/2782509/ca1d653c-cb20-11e3-9759-e795e06dfab7.png)

Suggested reviewers:

@stephensanchez Quite a bit of cleanup and new code in this PR.
@marcotuts @frrrances Talbs asked me to tag you on the review for sass and template changes.
@srpearce The only change to the xml is a new `feedback='optional'` attribute.  You can see an example [here](https://github.com/edx/edx-ora2/blob/will/feedback-per-criterion/apps/openassessment/xblock/static/xml/poverty_rubric_example.xml)