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.
The reason this works on NetBSD is because it is implemented in the kernel, where the user pointer is validated.
On both FreeBSD and Linux gettimeofday(2) is implemented in user mode by use of vdso.
Using #ifdef is probably nicer.