Implement daemon::process::kill()

I guess I'd just forgotten to do this because I'm lazy.
Implement the NET_UP and NET_DOWN daemon messages

These messages are necessary in order for me to deal with failing
network connections.  The general idea is that I need mhng-daemon to
always be running, but I need it to stop checking for new messages
when the network isn't up.  The old mechanism was to wait for a bit
whenever a network process failed, but this has two problems:

* It requires a high latency when reconnecting, as I just slept and
  retried.  Lowering this latency would require increasing the polling
  frequency, which is no good.

* I got a lot of occasional hangs related to TCP connections stalling
  when their network interface dropped.  This necessitated a hack to
  kill the relevant process, but that was racy.

This new solution allows me to explicitly inform mhng-daemon when the
network has gone up or down.  This fixes both of the problems
mentioned above:

* The server no longer polls for a network connection, but just relies
  on information from these messages to determine when the network
  comes up.

* daemon::process allows me to kill subprocesses when necessary (as
  they'll still hang, that's a Linux issue) without any races.

With any luck this will significantly improve the usability of
mhng-daemon.
Add mhng-pipe-network_{up,down}

These two tiny programs just send a NET_{UP,DOWN} message to
mhng-daemon to inform it of the current network status and allow it to
take the necessary measures.