Preserve the assessment order in the Studio editor.

[ORA-673](https://openedx.atlassian.net/browse/ORA-673): Student training step always sorted to the bottom

The fix for this turned out to be kind of complicated.  Before this PR, we were only storing assessment information for assessments that were enabled.  This meant that we had to assign an arbitrary order for disabled assessments.

To address this, I've added an additional XBlock field to keep track of the order of assessments in the editor.  This allows the editor to preserve whatever order the author specified, including for assessments that are disabled.

One outstanding UX question that I'd like @marcotuts to weigh in on: why are we allowing users to drag/drop "student training" and "example based assessment" at all?  Student training always comes first, and AI is scored immediately.  Would it make sense to exclude these from drag and drop?

@stephensanchez @gradyward please review.  (And feel free to make changes if you want to get this merged before I get back on Tuesday).
Could you update the Docstring for this function? Nobody has in a while.