Separate chroot() into kern_chroot(). Rename change_dir() to checkvp_chdir()
and reorganize the code to avoid doing weird things to the passed vnode's
lock and ref count in deep subroutines (which lead to buggy code).
Fix a bug in chdir()/kern_chdir() (the namei data was not being freed in all
cases), and also fix a bug in symlink() (missing zfree in error case).
Submitted-by: Paul Herman <pherman@frenchfries.net>
Additional-work-by: dillon