Change existing tests to use shared test Engine.
Improve engine dumping so it doesn't swallow replies with the same code
but a different matched reply ID.
Historical data test to use a different currency to simplify engine
dumps.
Fix bug where instrument manager was not cancelling its market data
subscription.
Improve engine dumping to always dump error messages returned by TWSAPI.
Fix bug in ereader.go where error message was not implementing
MatchedReply. As per TWSAPI Java API, error() method, the first
parameter is the orderId or tickerId of the request that generated the
error. As such it is a MatchedReply.
SinkManager now guarantees to have closed the Manager before
returning. This in turn ensures the relevant cleanup operations are
performed in the Manager (eg unsubscribing from Engine, cancelling any
remaining TWSAPI subscriptions etc).
Increase timeouts to 15 seconds now that upstream Engine and Manager has
better (ie instant) error detection and closure logic that will promptly
propagate down to the test case.
Remove option tests from engine_test.go as options are tested separately
later on.
Remove option.go and corresponding test as the majority of the data is
available directly from other managers or chain.go.