Testing: Added utility class to find free port

The current netty tests heavily rely on finding a free port to bind to.

In order to simplify this, the first step is to bind only on so-called
ephemeral ports, which are considered to be high and short lived. This also
prevents binding on the heavily used 9xxx port range on testing systems.

The second step is to add a SocketUtil class, which returns a currently
unused port by trying to bind and unbind to it. This class check randomly
one of the ephemeral ports and also allows to return several ports at once.