INT-2861/INT-2862 TCP Outbound Gateway Fixes

INT-2861

Close connection after 'remoteTimeout' because the
socket is dirty (may contain an in-flight reply).

Add test that demonstrates the problem and that it
is resolved.

INT-2862

Remove entries from pendingReplies (map of async responses
for which we are waiting).

Add an assertion to the above test to ensure cleanup.
Merge pull request #695 from garyrussell/INT-2861-2862

* INT-2861-2862:
  INT-2861/INT-2862 TCP Outbound Gateway Fixes