percolator: fix handling of nested documents

Nested documents were indexed as separate documents, but it was never checked
if the hits represent nested documents or not. Therefore, nested objects could
match not nested queries and nested queries could also match not nested documents.

Examples are in issue #6540 .

closes #6540
closes #6544
Merge branch '1.2' of https://github.com/elasticsearch/elasticsearch into issue6441
significant terms: fix json response

Commit fbd7c9aa5d6c1c introduced a regression that caused
the min_doc_count to be equal to the number of documents in the
background set. As a result no buckets were built when the
response for significant terms was created.
This only affected the final XContent response.

closes #6535
Mapping: Fix possibility of losing meta configuration on field mapping update

The TTL, size, timestamp and index meta properties could be lost on an
update of a single field mapping due to a wrong comparison in the
merge method (which was caused by a wrong initialization, which marked
an update as explicitely disabled instead of unset.

Closes #5053
Java API: BulkRequest#add(Iterable) to support UpdateRequests

Closes #6551
Mappings: Allow _version to use `disk` as a doc values format.

VersionFieldMapper.defaultDocValuesFormat claims that the default is `disk`.
This is not used to choose the DV format in the index but for mappings
serialization in order to know when the _version doc values format is
different from the default format. This made it impossible to use the `disk`
doc values format since mappings would never retain that information at
serialization time.

Close #6523
Merge branch '1.2' of https://github.com/elasticsearch/elasticsearch into issue6441