Updated slot_time to namedtuple
Added no break penalty and removed slot variables
Added pruning of unavailable pupil slots.
Added several features.

Broken down objective functions.
Added Restriction constraints (lunch).
Changed bonus/penalty to work with empty availability.