Implemented coincident segment detection

This update greatly improves performance.
Percent completion is still garbage. The next updates will try to fix
that. Better scheduling will need to be implemented so people can pick
when they want their courses. Support must also be added for indicating
what classes are available.