Stop redefining zfs_sleep_until.

ZOL introduced zfs_delay.h for the kernel context only. Move our
kernel version of zfs_sleep_until into zfs_delay.h, and do not
include zfs_delay.h in zfs_context_userland.h.

Also, just as ZOL does, we can use nanosleep in our userland context.