Cached Calendar Updates

Redesigned the database structure for the calendar caches to expose less (or none at all, if possible) personal information, and for ease of checking for updates. If the event_hash has changed, the old event will not be matched and will be deleted (there's just not enough information in an event to make it worthwhile to go through and compare them and do "real" updates. Bah.) Put the documentation for the database tables both in the tables (of course) and in the script, for easy reference.

Updated script-ui.css to treat checkboxes like radio buttons: inline.

Updated the debugging output for MySQL queries to be more informative.

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>