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
This seems slightly odd. This period is part of a schedule - does it make any sense for the schedule passed in this method to be different to the parent? Does it matter? Is the daycount held on the schedule? What if the daycount passed is not the one on the schedule?