unix_listen: use a result type rather than an exception
unix_listen: use a result type rather than an exception

Previously if an expected command-line argument was missing (or malformed)
an exception would be thrown and would be printed by the top-level handler.
This patch uses a result type and handles the error locally: if we can't
listen on a particular address then we log the reason why and disable only
that feature, rather than the whole program. This allows vpnkit to start
with only the ethernet socket and without the introspection server and the 9P
port control filesystem.

Signed-off-by: David Scott <63c9eb0ea83039690fefa11afe17873ba8278a56@docker.com>

djs55/vpnkit,djs55/vpnkit,djs55/vpnkit