Rename EventCollector to EventWindowCollector
Start then end raises event completed with calculated latency
End with no start does nothing
Start then end with unmatched id does nothing
Start then end with unmatched instance id does nothing
Start multiple then end multiple raises event completed multiple
Start then end with no subscriber does nothing
Start then end removes entry
Add IEventCollector interface
Use IEventCollector in TraceReader
OnStart passes through to inner collectors
OnEnd passes through to inner collectors
Add latency calculation with percentiles to app