build: fix minor bugs with ext2 build, and fix symlink targets in flight
ext2: ext2 is now quite alive.

* memory mapped files work again
* directory creation is fixed so it doesn't mess up permissions anymore (and creates "." and ".." entries now)
* resolved a number of TODOs
posix: if symlink traversal fails in execve(), return an error rather than segfaulting the kernel.