ipfw: don't use 'log' parameter.

I guess we were causing the kernel to syslog on every single packet on
MacOS.  Oops.
ui-macos/main.py: fix wait() to avoid deadlock.

If the subprocess was trying to write to its stdout/stderr, its process
would never actually finish because it was blocked waiting for us to read
it, but we were blocked on waitpid().  Instead, use waitpid(WNOHANG) and
continually read from the subprocess (which should be a blocking operation)
until it exits.
firewall: catch SIGHUP and SIGPIPE.

Not sure if this will fix anything, but it might stop the problem reported
on some MacOS versions where the firewall doesn't get cleaned up correctly.
Use the new arguments from redo v0.10.

(apenwarr: also updates to the matching, latest minimal/do)