Enable usage of Q_DECL_OVERRIDE with Qt4.
Factor out server greeting code into its own method.
Make serverAddress() return an URL.

This is done in order to support different transport mechanisms.
Add abstraction for transport mechanisms on the server side.

So far only covering TCP/UDP, as before.
Change the broadcast message format to contain server URLs.

Removes the assumption we are connecting via TCP.
Use the server URL rather than reading from probe settings directly.
Send the server address as URL.
Send the entire server address back to the launcher, not just the port.
Add support for using local sockets as transport.

That's going to be needed on Android when not having the network access
permission.
Support URLs as user input for --connect and --listen.
Port ClientLauncher to use URLs as input.
Pass a URL to the client, instead of just host/port.
Add the last missing piece to pass the server address as URL.
Change the error API of Client to not rely on QAbstractSocket.

Not all transport types we want to support inherit from that one.
Add an abstraction for client side connection creation as well.

So far this only supports TCP, as before.
Add support for local sockets on the client side.