Docs: Added new entry for the SIREn plugin.

Closes #6961
Docs: Changing ES_MAX_MEM default from '1gb' to '1g'

If you set ES_HEAP_SIZE to '1gb' as suggested, Java will yield an "Invalid initial heap size".

Closes #6824
Aggregations: Added an option to show the upper bound of the error for the terms aggregation.

This is only applicable when the order is set to _count.  The upper bound of the error in the doc count is calculated by summing the doc count of the last term on each shard which did not return the term.  The implementation calculates the error by summing the doc count for the last term on each shard for which the term IS returned and then subtracts this value from the sum of the doc counts for the last term from ALL shards.

Closes #6696
Add multi_field support for Mapper externalValue (plugins)

In context of mapper attachment and other mapper plugins, when dealing with multi fields, sub fields never get the `externalValue` although it was set.

Here is a full script which reproduce the issue when used with mapper attachment plugin:

```
DELETE /test

PUT /test
{
    "mappings": {
        "test": {
            "properties": {
                "f": {
                    "type": "attachment",
                    "fields": {
                        "f": {
                            "analyzer": "english",
                            "fields": {
                                "no_stemming": {
                                    "type": "string",
                                    "store": "yes",
                                    "analyzer": "standard"
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

PUT /test/test/1
{
    "f": "VGhlIHF1aWNrIGJyb3duIGZveGVz"
}

GET /test/_search
{
    "query": {
        "match": {
           "f": "quick"
        }
    }
}

GET /test/_search
{
    "query": {
        "match": {
           "f.no_stemming": "quick"
        }
    }
}

GET /test/test/1?fields=f.no_stemming
```

Related to https://github.com/elasticsearch/elasticsearch-mapper-attachments/issues/57

Closes #5402.
Mappings: Enforce non-null settings.

No that we are using the index created version to make index-time decisions,
assuming that the version is the current version when settings are null is
very error-prone. Instead we should ensure that settings are always non-null
and contain the version when the index was created.

Close #7032
Test: more verbosity for this test on failure
Docs: Reorganised the search-shards API docs
Docs: Removed search-shards from request-body
Docs: Fixed path to search-shards
Update nested-query.asciidoc

Changed score_mode `total` to `sum` to be consistent with parent-child etc
Introduced the notion of a RandomAccessFilter that guarantees to produce a FixedBitSet.

Nested and parent/child rely on the fact that type filters produce a FixedBitSet, the RandomAccessFilter does this.
Also if nested and parent/child is configured the type filters are eagerly loaded by default.

Closes #7037
Closes #7031
rename
Added used bytes for fixed bit set cache to SegmentsStats
rename2
moved to cache