[TEST] Fix ExistsMissingTests failures.

They were due to a combination of mappings propagation delays and the behavior
of MapperService.smartName(String) so mappings are now configured up-front.
start mapping service earlier to be available for recovery
Fixed JSON in fielddata docs
Core: The ignore_unavailable=true setting also ignores indices that are closed.

Closes #6471
Closes #6475
[TEST] Improve reproducibility of mappings propagation delays related issues.
Fixed link to native Java client

Closes #6590
Core: Prevent non segment readers from entering the filter cache and the field data caches.
Percolator: Never cache filters and field data in percolator for the percolator query parsing part.

Closes #6553
[TEST] Fix possible race condition in checksum name generator

When three threads are trying to write checksums at the same time, it's possible for all three threads to obtain the same checksum file name A. Then the first thread enters the synchronized section, creates the file with name A and exits. The second thread enters the synchronized section, checks that A exists, creates file A+1 and exits the critical section. Then it proceeds to clean up  and deletes all checksum files including A. If it happens before the third thread enters the synchronized section, it's possible for the third thread to check for A and since it no longer exists create the checksum file A the second time, which triggers "file _checksums-XXXXXXXXXXXXX was already written to" exception in MockDirectoryWrapper and fails recovery.
Core: cancel entire recovery if shard closes on target node during the recovery operations.

Closes #6645