Added view/remove pinger sections for tweaking scope, and a lot of bug fixes
- added SingleMenu class for simple selection views
- changed user metadata to a single dict instead of a list of dicts to avoid duplicates removal weirdness and double firing on merges
- added coursedict handling for int to str key normalization issue which results in duplicate keys in json
- renamed occasions where sections are incorrectly named as courses
- fixed weirdness due to persistent selections on menus in AddCourseSearch
- made search return more results before truncating due to pagnation
- fixed errors on sections with multiple timespans and on no sections instead of returning empty dict