Fixed Made the Client.Connection Disposable

- Followed the common dispose pattern

#1844
Added a test to verify that dispose is calling stop on a connection and it's then aborting the active connection.

#1844
Modified functional tests that were not testing connection.stop and those that called connection.stop at the end to use the "using" pattern

#1844