Implement course-wide asset paging methods.

Add SortedCollection class to help sort lists efficiently.
https://openedx.atlassian.net/browse/PLAT-74
I couldn't figure out an easy way using the actual values nested in the classes. So I took a more brittle easy way out by using: ```sort='tuple(str,(int,>=1,<=2))|None'```