Use ServiceDates for determining timetable validity when resolving

- ServiceDays also store a ServiceDate so it doesn't have to be
  recreated.
- Purge expired data daily, based on the serviceDate.