Make abort fully synchronous so that timing more accurate.
- Gracefully wait on the connection to end before aborting the request.
Set the reset events on error calling /abort.
Fixed some tests issues.
- Use unique transports per connection since they're disposed now.
- Append custom url to abort request.
- Changed abort timeout to 5 seconds.
Use a regular tcs for the disconnect tcs so that it runs synchronously.
Always abort the request instead of the response to kill connections.
Removed SafeCancellationToken from client.
Add more tracing to client.
Fixed issue with connection not resetting state.
- Clear transient connection state in .NET client.
- Removed LP from debug output.
Put abort back into the lock.
Keep track of the connect task and wait on it before stopping.
Added basic tracing to the .NET client.
- Added a TextWriter property to IConnection.
- Change tests to log client traces to a file so that it works
  in release mode.
- By default use DebugTraceWriter

#135
Don't throw the start task on Stop.
Never assign a null client Trace.
Made changes to tests to improve logging.
- Create a file per transport per host.
- Don't close the traceoutput.
Added logging for memory test host.
Added trace for OnClose
Flush the system.net logger on dispose.
Only turn on system.net traces for non memory host.
Added tracing to more tests.
Enable tests.