Allow commands to be sent to a unix domain socket.

  This is the client part of the external-lua-injection
 code, which updates #172.
  Updated header.
  Added new function `open`.

  The function `open_folder` was renamed `open_selected_folder` to be
 more explicit about the functions purpose.
  Added primitives for domain-sockets.

  This updates #172 and allows:

            bind_socket( "/path/to/listen/upon" );
            close_socket();
  Added getters/setters for unix domain socket.

  These update #172.
  Updated to allow open_socket / close_socket to be invoked.
  Process any open domain-socket.

  This updates #172 and allows our main loop to do two things:

    * Read input from a domain-socket.
    * React to keyboard / stuffed input.
  Default to enabling domain sockets.

  This closes #172.