Cleanup unused stuff in TimetableView
Use route fragment with AY/semester instead of just /timetable
Omit empty array suffix if no selected modules
Navigate to timetable state url when showing timetable
Restore timetable from url
Clear short sharing url when timetable changes