Try to increase the accuracy of the heuristic we use for determining date format

When we parse a schedule, we have to decide what date format Quest uses. It can change from term to term, and person to person. This is the implementation that @jlfwong and I discussed on Hipchat. 

We look for the first date format we know is correct with a reasonably high accuracy, and use that for the rest of the items. All the JS tests still pass, and I can look at adding in another test that deals with a different date format than we currently test for, if the code looks good. 
Could you add a comment explaining the heuristic being accomplished with the % 4 === 1?