Previously, FileOutputBuffer didn't work for non-mmap'able files, so
you cannot use that class for /dev/null for example. This patch fixes
the issue.
Now, before mmap'ing a file, it checks whether a given file is a regular
file or not. If it is a regular file, it uses mmap as before. If not, it
creates an internal buffer and write that buffer contents on commit().
This patch enables "-o /dev/null" for LLD. Previouly, it failed.