added fs.readlink(), better check mode for fs.open