unix: don't abort when waitpid() returns ECHILD

A bug in libuv makes it call `waitpid(-1)` before node-heapdump gets
a chance to call `waitpid(pid)` and, as a result, libuv consumes the
exit event of the process that node-heapdump forked off.

It looks like the bug is not fixable in libuv v0.10 without undue effort
so it probably won't get addressed.  (Libuv master is unaffected as a
side effect of commit joyent/libuv@5c00a0e.)

Not all is lost, however: ECHILD means there is no child process with
that pid so we know for sure that it's safe to stop our signal watcher.

Fixes #22.