backup BaseSchedule implementation

(not compillable)
introduce new API
redesign public IScheduler to IEnumerator<XEvent>
implement 'Scheduler.Create()-s'
introduce Scheduler.InternalScheduler
introduce Schedule<XEvent>

introduce ReadOnlySchedule<XEvent>
connect ScheduleTree to ScheduleEngine
add ScheduleTree.Tests