- cursor becomes before_cursor
- add after_cursor for querying runs after a cursor
- add ascending. defaults to False.
runs = [1,2,3,4,5,6] get_runs(before_cursor=3) = [2,1] # existing behavior get_runs(before_cursor=6, limit=1) = [5] # existing behavior get_runs(before_cursor=6, limit=1, ascending=True) = [1] get_runs(before_cursor=6, after_cursor=3) = [5,4] get_runs(after_cursor=1, limit=2) = [6,5] get_runs(after_cursor=1, ascending=True, limit=2) = [2,3] # this will be used most of the time for after cursor)