Constraint Fixes

Several constraints were being evaluated at the wrong time (start/end).  This commit should fix them to be consistent with what the user expects.

Ex: before_time means that the course must end before the given time, not start before the given time.