SocketApi: Use QLocalSocket after all for windows and linux

Relates issue #2189
SocketApi: Save the socket in $XDG_RUNTIME/<appname>/socket
OS X: Update GCDAsyncSocket

The two files are from the fork from
https://github.com/jdiehl/CocoaAsyncSocket/tree/socketUN
It supports unix domain sockets.

SHA1 was 7e97fc876522c7bf2a2a434cf40579ae9daf9da5
SocketApi: Port OS X to use local sockets
overlays Nautilus: Adopt to the use a local unix socket not TCP.

Also, use the appname to find the correct branded icons.
SocketAPI: Split up for specific linux and mac implementation.
SocketAPI: Set permission of the socket Directory.

Set that to be accessible by the owner only.
SyncEngine: Use proper start indicator, max unit64.

This avoids a warning.
Folderman: Check if socketApi member is non zero, no crashes.
Overlays Linux: Add the state to the cache to save calls to add_emblem

The SocketAPI sends status updates for files without being asked for.
And in order to not draw the emblem again if it had not changed, the
state is compared before calling add_emblem
SocketAPI: remove nonsense FIXME's.
Windows has not been ported back to QLocalSocket
Merge branch 'socketapi_localsocket' into 1.7