Update Dart SDK dependency.
Declare support for async 2.0.0.
Support IPv6-only environments.
Properly depend on async.
Fix most strong mode warnings.
Update the static constructors to match the latest dart:io.
Properly detect socket errors and don't retry too often.
Fixed a port allocation bug.