designated initializers.
I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
Avoid recursion, and hold a reader lock on p_reflock while we
check for filemon, and until we have p_pptr.
filemon_ioctl:
Do not allow FILEMON_SET_PID unless caller would be allowed
to ptrace the target pid.
filemon_wrapper_deinstall:
Do not touch syscalls if they no longer point to us, return EBUSY.
filemon_unload:
return EBUSY if filemon_wrapper_deinstall() fails.