improve error handling on failed Http/2 handshake (dotnet/corefx#37050)
* improve error handling on failed Http/2 handshake
* remove extra space
* add test for HTTP2 client talking to HTTP1 server.
* fix broken tests
* improve exception handling
* update exception handling
* ws update
* fix bad merge
* update test and changes from dotnet/corefx#37223
* use _abortException only if the stream is not aborted already
* fix IsAborted check
* updates to syncup with recent changes
Commit migrated from https://github.com/dotnet/corefx/commit/
c412fa7dc60559dc38050c63b2e34b5156a2499e