Calendar Table Refactoring

The last few days have been a bunch of behind-the-scenes work to refactor the way that the "calendar" table links to it's sub-tables (calendar_color_rank and calendar_entries).  At a high level the id of the calendar table used to be used to retrieve the related rows from the other tables and as an index for joining to them.  That has been entirely removed, everything is now keyed off of the master manuscript_id.  The downside to this is that there's no longer a way to represent a manuscript with 2 calendars, but that is so rare and would have been so complex as to have been written off as a use-case.  The upside is that there's now never a reason to need to think about calendar_id, no reason to ever need to lookup the MS id of a calendar, which was a silly and inefficient part of the lookup_saint tool.  As part of this the test-case coverage has been improved a bit as well.  For those keeping count, the branch where this work was done had 23 commits to 17 files before getting merged back into master.books_of_hours_noviews.png