misc unlink / rmdir fixes

Backporting a few more fixes from the vfs branch:

 - rmdir / unlink no longer follow the final symlink (when you unlinked a symlink you were removing the object it linked to)
 - rmdir / unlink no longer check write permission on the found object, but on its parent
 - rmdir should return EBUSY when path matches the root / cwd. http://pubs.opengroup.org/onlinepubs/009695399/functions/rmdir.html says it's unspecified if rmdir fails and sets EBUSY in these two cases, but since we were already setting EBUSY in one case I made it set it in both to line up with the wording on opengroup.
 - unlinking a directory should return EPERM according to POSIX (EISDIR is a Linux convention)

The test was given similar treatment to the rest - JS deps removed, it's now less cryptic and symlinks are tested to boot.