Implement course-wide asset paging methods.

Add SortedCollection class to help sort lists efficiently.
https://openedx.atlassian.net/browse/PLAT-74
Good question on the extra copy... It might, in fact.

Sticking w/ `range` is fine, although I'd switch to `xrange` so as to not blow up memory if you end up w/ and `end_idx` that's fantastically large.