Fix a sorting bug in the Page Backbone model.

The `sortBy` method of Backbone Collections doesn't destructively sort
the collection; rather, it returns a new sorted version. The old code
assumed a destructive sort.
Fix ordering of pages/tab groups/boxes.

Due to me not understanding how the sortBy function on Backbone
collections work, the ordering of these elements wasn't being
respected. Fortunately, Backbone collections can maintain themselves
in sorted order if you define a comparator (which is done in this
commit).
Add box Backbone model tests.
Add BoxTemplate Backbone model tests.
Add Notebook Backbone model tests.
Add Page Backbone model tests.
Add PageTemplate Backbone model tests.
Add TabGroup Backbone model tests.
Add TabGroupTemplate Backbone model tests.