ivs: optionally listen for CLI commands on a unix domain socket

This uses the uCLI infrastructure supported by some modules. If the --cli
option is passed without an argument, it listens on /var/run/ivs-cli.sock. You
can easily connect to this using "socat unix-connect:/var/run/ivs-cli.sock
readline". I'll also eventually add a standalone program to issue CLI commands.

The bulk of the code is converting between async IO and the synchronous IO
needed by uCLI.
ivs: use a macro for the listen backlog size
ivs: note the aim_pvs_buffer_reset bug
ivs: finish sending CLI output after half-close

The ivs-ctl command does a shutdown(SHUT_WR) to indicate it's finished sending
commands. Instead of disconnecting it immediately we should send the response
first.
ivs-ctl: add cli command

Sends its arguments over a unix domain socket to IVS, which runs the ucli
command and sends back the output.
ivs: send cli output with MSG_NOSIGNAL

This prevents SIGPIPE from killing us.
update switchlight-common

* submodules/switchlight-common f7965a9...f29075a (2):
  > Merge into master from pull request #33: fix ucli compilation for arpa and router_ip_table (https://github.com/floodlight/switchlight-common/pull/33)
  > Merge into master from pull request #31: Add dhcpra vpi test and debug ucli commands (https://github.com/floodlight/switchlight-common/pull/31)
Merge remote-tracking branch 'origin/master' into ucli
Merge into master from pull request #116:
ivs: optionally listen for CLI commands on a unix domain socket (https://github.com/floodlight/ivs/pull/116)