MAGIC happened

Schedule generation now uses memcached, multithreading, and a dollop of
fairy dust to be approximately one whole hell of a lot faster and
benchmarked to solve schedules of up to 5 courses from a set of 150
sections. To infinity and beyond! Oh yeah, also some documentation and
coverage updates and other boring stuff too.