Implement qGetWorkingDir.

This is part of platform mode support.
Fix a typo in ProcessInfo::encode.

We were sending the uid as the gid.
Return FQDN in Platform::GetHostName().

When sending back the host name to lldb, we need to have the FQDN or
otherwise connections (in platform mode, specifically) might not happen
properly.
Make sure we close sockets on exec.

This ensures we don't leak file descriptors to child processes
(inferior, or slave worker for platform mode).
Transmit debug flag to platform slave process.
Transmit back the working dir as a hex string.

We were sending the data as ASCII which LLDB doesn't understand. We need
to hex-encode it first.
Always send "F-1" when opening a file fails.

Some of our error codes won't fit in a single byte so they won't be sent
properly. Also, the debugger expects F-1 for those types of errors.
Implement vFile:open and vFile:close.
Enable keepalive when in platform mode.