Add two APIs to manage the internal cache of small file mode

plfs_flush_writes() will flush all the buffers related to the dir,
so that all the changes to regular files in this directory made by
this process are written to backend file systems.

plfs_invalidate_read_cache() will drop all the caches related
to a directory so that later operations will get the latest info
about its regular files from backend file systems.

Together they can provide a consistency semantic for small file
mode as following:
Process A:
    plfs_write(); plfs_close(); plfs_flush_writes(); Barrier();
Process B:
    Barrier(); plfs_invalidate_read_cache(); plfs_open(); plfs_read();
Then the plfs_read() in process B can see the data written by
process A.