Add a way for the probe to be configured from the launcher.

Well, at least the interface for it, and a working implementation for
launching. For attaching we need something considerably more advanced to
communicate with the probe initially, temporary files or shared memory,
environment variables wont work there.
Allow to select in-process or out-of-process UI via settings.
Allow to select on which address to listen to.

This is useful to not get annoyed by the Windows firewall all the time you
launch an application in GammaRay if all you are doing is local-only
out-of-process debugging anyway.
Allow to select the in/out-of-process mode in the launcher.

Also, you can disable remote debugging access this way, hopefully silencing
the Windows firewall.

More to come here though, we need to auto-launch the client and make it
wait for the server to become available.
Introduce a launch options class.

We have several different ways of providing launcher options, makes it
easier to pass them around and allows to add some convenience API.
Add a command line switch to enable/disable the in-process mode.
Launch client when using out-of-process UI as well.

Happens too early still, the client needs to wait for the server to become
available.
Also add a machine-readable error message, will be needed for auto retry.
Don't leak sockets when retrying to connect several times.
Forward client debug output.
If the client isn't up yet, keep trying to connect for a minute.
Look for gammaray-client in the right location before relying on PATH.
Link again.