Prevent fsync from creating 0-byte files

This is related to LUCENE-5570 where fsync creates a 0-byte file
if the file does not exists. This commit adds the patched lucene
version using Java 7 APIs as well as a note to replace this method
with the upcomeing IOUtils#fsync in Lucene 4.8

This commit cleans up FsImmutableBlobContainer#writeBlob to make
use of Java7 Auto-Closing features and ensures that the directory
the blob was written to is fsynced as well if possible.
Remove unused FileSystemUtils#copyFile
[BUILD] remove leftover print statement
Separate persistent and global metadata serialization settings
Benchmark documentation

Moving benchmark documentation under the search section.

Closes #5786
Fix snapshot status with empty repository

The snapshot status command with empty repository should return current status of currently running snapshots in all repositories.

Fixes #5790