* new Map class for conveniently specifying a range of replays on a map that can be ran directly with cg.run()
* new span argument to loadables and map_check and user_check which specify exactly which of the top replays to check
* restructure of Replays and Checks. Both now inherit from Loadable, and Check and Map inherit from Container. Containers can hold other Containers, to an arbitrary depth. cg.run() now accepts any Container.
* use Slider to download beatmaps for relax detection
* fix user_check not using the same args as create_user_check
* check.filter() now requires a Loader
* add test cases for different replay types
* REPLAY_STEALING and REMODDING ResultType renamed to STEAL and REMOD respectively
* optimize ur calculation
* fix RelaxResult returning timestamped data in `result.replay` instead of the replay
* keys enum is now an IntFlag instead of an Enum
* update test cases for cookiezi's new name (chocomint)
* comparer decides mode on its own and does not need a mode in Comparercompare
* clean up ColoredFormatter code