Fix/3.0/defaultaddresspicker reuseserversocket

Instead of reusing the ServerSocket/ServerSocketChannel, we are going to close and replace them on
every attempt to find a free port. The reason to do this is because in some cases, when concurrent
threads/processes try to acquire the same port, the ServerSocket gets corrupted and isn't able to find
any free port at all (no matter if there are more than enough free ports available). We have seen this
happening on Linux and Windows environments.