Merge the Isilon ATF code

This is a placeholder merge request to go over all of the items to ensure that I understand everything, some of the items from Isilon can be dropped as I dropped them from the atf branch (diff reduction), and make sure that any valid fixes from NetBSD can be pushed back.
This is a gray area IMHO. Let me correct my previous statement...

- pid == 0 is the kernel.
- pid == 1 is init.
- kill with pid=0 has special connotations:
<pre>
If pid is 0, sig shall be sent to all processes (excluding an unspecified set of system processes) whose process group ID is equal to the process group ID of the sender, and for which the process has permission to send a signal.
</pre>
- waitpid with pid = 0 has special connotations:
<pre>If pid is 0, status is requested for any child process whose process group ID is equal to that of the calling process. 
</pre>

Looking at this in retrospect (because that's what I based my original argument on) I agree with your original assertion. NetBSD might be using an implementation specific means for getting the pid or handling sigqueue(2).

This should be upstreamed to NetBSD.