Implement course-wide asset paging methods.

Add SortedCollection class to help sort lists efficiently.
https://openedx.atlassian.net/browse/PLAT-74
I took it out for two reasons:
- There was no requirement to keep those attrs separate.
- It was more difficult to sorted on ```edited_on``` when it was nested inside another dict.