Docs: Rewrote the scroll/scan docs

Closes #6774
[TEST] more consistent toString on cluster state, print with assertTimeout
Docs: grammatical error

Closes #6716
Docs: YAML mappings use colons, not equals sign

Closes #6750
Revert "[Discovery] immediately start Master|Node fault detection pinging"

In #6706 we change the master validation to start pining immediately after a new master as ellected or a node joined. The idea is to have a quicker response to failures. This does however create a problem if the new master has yet fully processed it's ellection and responds to the ping with a NoLongerMasterException. This causes the source node to remove the current master and ellect another, only to find out it's not a master either and so forth. We are moving this change to the feature/improve_zen branch, where the improvements we made will cause the situation to be handled properly.

This reverts commit ae16956e072bea317ea481f65f2e110dc48fde17.
Core: don't replace indices within the ActionRequest with the concrete ones, and make sure check blocks is executed on concrete indices

Concrete indices is now called multiple times when needed instead of changing what's inside the incoming request with the concrete indices. Ideally we want to keep the original aliases or indices or wildcard expressions in the request.

Also made sure that the check blocks is done against the concrete indices, which wasn't the case for delete index, delete mapping, open index, close index, types exists and indices exists.

Closes #6694
Closes #6777
[Discovery] verify connect when sending a rejoin cluster request

When a master receives a cluster state from another node, it compares the local cluster state with the one it got. If the local one has a higher version, it sends a JoinClusterRequest to the other master to tell it step down. Because our network layer is asymmetric, we need to make sure we're connected before sending.

Closes #6779
Docs: Improved the docs for nested mapping

Closes #1643
Aggregations: Aggregation names can now include dot

Aggregation name are now able to use any character except '[', ']', and '>". Dot syntax may still be used to reference values (e.g. in the order field) but may only defence the value directly beneath the last aggregation in the list. more complex structures will need to be accessed using the aggname[value] syntax

Closes #6702
Docs: Changed the path separator for Windows in the README

Closes #1854
[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
mute test
Fix snapshot tests

cleanup Store part where metadata is read ie. if segments.gen is not
present it's no reason to fail the meta request.
Added logic that removes partially written files during restore.
moved test into different package
fix BWC tests
more tests