Close http connections on dwds and webdev_server exit (#1129)

* Close http connections on dwds and webdev_server exit

proxyHandler is creating new http client if none is passed to it,
and this client is never closed, which causes the program to hang
in some scenarios - for example, in a coming expression evaluation
feature where the expression compiler worker is running in an
isolate, communicating with webdev isolate using send/receive
ports.

- pass an http client to all proxyHandlers
- close that client on exit
- cleanup running services on context.setup fail so to the
  subsequent setup retries do not fail due to services stil
  running.

* Update dwds/lib/src/readers/frontend_server_asset_reader.dart

Co-authored-by: Nate Bosch <nbosch1@gmail.com>

* Update dwds/lib/src/readers/proxy_server_asset_reader.dart

Co-authored-by: Nate Bosch <nbosch1@gmail.com>

* Update dwds/test/debugger_test.dart

Co-authored-by: Nate Bosch <nbosch1@gmail.com>

* Fix compilation errors

Co-authored-by: Nate Bosch <nbosch1@gmail.com>
12 files changed