Move VFS from noux to 'os/include/vfs'

By separating the VFS from Noux, we become able to reuse the
VFS for libc-using programs. The most substantial change is the
removal of Noux::Sysio data structures from the VFS. Instead, the
Noux::Sysio refers to the VFS types now.

The new VFS library is located at 'os/include/vfs/'.

Furthermore, the patch removes various code duplications related
to pseudo file systems that provide a single file (block, zero,
random, terminal, null). The new 'Single_file_system' holds the
common boilerplate code for those.

Issue #999
vfs: LOG file system
vfs: ROM file system
vfs: inline file system
libc: Add fd status and flags to File_descriptor

Those values need to be stored local to the FD. Including
them in the 'File_descriptor' eases the handling of libc
plugins.
libc: Make File_descriptor::fd_path char const *
libc: Add 'rmdir' to plugin interface
libc_terminal: Use prio to override libc_vfs
libc_fs: Use priority higher than libc_vfs

This way, we make sure that libc_fs is used if both plugins are
present, which happens during the transition to libc_vfs.
fs test: Appropriately use rmdir instead of unlink
Add libc_vfs plugin and test

Issue #999
Retire libc_{log, block, fs, rom}

Those plugins are superseded by libc_vfs.

Issue #999
Merge libc_vfs plugin into libc

Issue #999
Unify success messages of run scripts

The pattern "Test succeeded" is relied on by the automated
testing framework. We need to use it consistently to avoid
false negatives.