Import previous work in a clean git repo.
Fix indentation issue indent with tabs instead of spaces
Add capability checks to kern_fcntl

minor formating corrections
Adds capability check for sys_fstat and sys_flock
Fix compilation errors
Fix NULL pointer comparaison with integer
Ensure that tofree is set to NULL when it needs
Fix size calculation for ioctls whitelist
Rework locking of ioctls whitelist
Fix typos and add ioctls_list_alloc.

No more panic when building libc on a vkernel
Implement real capability mode

Capability mode is a mode in which access to global namespaces is
restricted. The mode is enforced as a credential flag for process
stored in the ucred structure. For now, the flag is not (yet)
exported via proc_kinfo.

This mode is inherited by child process (not yet implemented).
This commit adds syscalls to enter capability mode and restrict
rights associated to filedescriptors
Forbid setuid/setgid binaries in capability mode
Fix double free for ucred in sys_cap_enter
Fix typo in credential check in the exec path
Commit make sysent for the cap_syscalls
Fix uninitialized value when CAPABILITIES is not set
Add capability check for each variant of holdfp

Also change getfp_locked by fdvalidate, since we don't need the
file pointer
Convert holdvnode to the capsicum API
Convert holdsock to the capsicum API
Add fcntls capability checks