Simplify and enhance schedules

Simplify SchedulePeriod, removing frequency, roll convention and type
Add frequency and roll convention to Schedule
Determine schedule type on the fly

Provide additional mechanisms to manipulate a schedule
- whether a schedule is a term period
- get initial/final stubs and regular periods
- merging/splitting a schedule

DayCount ScheduleInfo altered to operate on schedule
The period has a start/end date, and a secondary unadjusted start/end. Everything is wrt the adjusted dates unless specified otherwise and the comment already calls out the dates used.