Created Engine type for the state of a matching engine.
Defined WithTopBuy and WithTopSell classes.
Added missingShow and Eq deriving.
WithSessionID defines the lens to a Maybe, as some other events like timers will not have the session (or should they).