Refactor netmgr
While working on fixing the bugs in the netmgr, it was discovered that stacking the netmgr APIs on top of each other is very error prone, confusing and mostly unfixable. It was proposed to rewrite the tcpdns using the libuv only and along with the other fixes to refactor the netmgr API together with adding unit tests.
The netmgr/
directory and the unit tests needs to be backported to 9.16 together with relevant changes, but we must not backport any netmgr-client changes outside netmgr/
yet.