posix: move close into fd.c
posix: use function table for FDs
posix: add read() and write()
Use O(1) fd_get_next_free function