Compete restructuring of Event (sub)classes

Event made true superclass of OutputEvent and InputEvent classes; all
Event derivatives must iniclude an EventDictionaryEntry reference; most
properties of these classes are read-only except within CCILibrary; new
constructor for an OutputEvent from an InputEvent
First working version tested with excluded segments

Subtle change in episode description to permit an Event to same-type
Event (not Same (exact) Event); if the same exact Event causes a
non-zero segment, it is used, otherwise the search advances.