[STORE]: Make use of Lucene build-in checksums

Since Lucene version 4.8 each file has a checksum written as it's
footer. We used to calculate the checksums for all files transparently
on the filesystem layer (Directory / Store) which is now not necessary
anymore. This commit makes use of the new checksums in a backwards
compatible way such that files written with the old checksum mechanism
are still compared against the corresponding Alder32 checksum while
newer files are compared against the Lucene build in CRC32 checksum.

Since now every written file is checksummed by default this commit
also verifies the checksum for files during recovery and restore if
applicable.

Closes #5924

Note: This PR still has a bunch of nocommits and I need to crank up some more bwcompat tests but I wanted to get the word out... all tests pass
That seems to be pretty harsh. If I have a huge shard and this shard has one small file that is corrupted, that will add "corrupted_"  prefix to all files and then replicate all files from another shard (including files that were perfectly fine locally).