gofmt changes only.
Fix stack overflow bug.

runtime: goroutine stack exceeds 1000000000-byte limit
fatal error: stack overflow

runtime stack:
runtime.throw(0x745840)
        /usr/lib/go/src/pkg/runtime/panic.c:464 +0x69
runtime.newstack()
        /usr/lib/go/src/pkg/runtime/stack.c:295 +0x3bc
runtime.morestack()
        /usr/lib/go/src/pkg/runtime/asm_amd64.s:225 +0x61
Add helper method which can create an Error object from an IB ErrorMessage.
Change test to use AUDUSD to ensure better coverage if not subscribed to
US markets.
Fix engine_test logging bug where reply was nil.
Enhance bidirectional traffic dumping between IB Gateway and Go.
Ignore test binaries.
Send IB ErrorMessage events to the error channel.
Fix bug in ScannerParameters.code().
Delete unused code.
Refactoring to introduce MatchedRequest and MatchedReply interfaces.
Introduce minimum server version expectation into engine, so that we
don't need lots of server version check logic (as seen in the Java version).
Improve server dumping so it won't re-dump replies of the same type it
has already dumped. This speeds up dumping if receiving option chains
etc.
Fix bug in engine where connection not being closed. This was causing
tests to reach the 8 concurrent client limit in IB Gateway.
Gracefully handle end of stream rather than panic and recover.
Engine should deliver errors to every known observer.
Error handling should recognise warning level messages and not treat
them as fatal.
Improve server dumping so it includes the client ID.
Clarify in comment the version number is for TWS API, not TWS.
Engine test to verify time set.