vfs: make File caching write-through.

This resolves an interesting problem where a shell command like 'echo a>a; echo b>b; rm a' would cause an ext2 fsck to fail as blocks for file 'a' are allocated *after* the unlink finishes.

This is not the final solution for this problem, but this does help avoid these kind of weird timing and ordering problems.
ext2: add a function to update metadata (uid/gid/mode) on disk, fix file extension logic somewhat
ext2: map newly-read blocks not-dirty to avoid immediate writebacks, update file metadata (uid/gid/mode) on disk when file attributes change

Permissions are now updated on disk when they update on Pedigree.