Implement course-wide asset paging methods.

Add SortedCollection class to help sort lists efficiently.
https://openedx.atlassian.net/browse/PLAT-74
Could you just do this as `for asset in all_assets[start_idx:end_idx:step_incr]`?