Schedule caching feature

Finally updated that branch I made back on version 1.91 or something to the updated git version. It's still pretty much the same feature (except I fixed the crash on first-time enable), and it's still an ugly solution IMO (still writing the entire schedule page to the database), but if you think it's fine then go ahead and pull, though I'm probably going to improve the feature in the future and have it properly store the class information in the database.