Fixed typo in TransportAction log line
[TEST] Remove indentation on indices.stats test setups

The new indices.stats tests have the setup section indented, which
can cause problems for some yaml parsers.
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
[DOCS] Fixed json example in nested-aggregation.asciidoc
REST API: Allow to configure JSONP/callback support

Added the http.jsonp.enable option to configure disabling of JSONP responses, as those
might pose a security risk, and can be disabled if unused.

This also fixes bugs in NettyHttpChannel
* JSONP responses were never setting application/javascript as the content-type
* The content-type and content-length headers were being overwritten even if they were set before

Closes #6164
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
[TEST] Added (trace) logging to testGetFields_complexField
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
Index field names of documents.

The `exists` and `missing` filters need to merge postings lists of all existing
terms, which can be very costly, especially on high-cardinality fields. This
commit indexes the field names of a document under `_field_names` and reuses it
to speed up the `exists` and `missing` filters.

This is only enabled for indices that are created on or after Elasticsearch
1.3.0.

Close #5659
Fielddata: Merge ordinals APIs into BytesValues.WithOrdinals.

Mid-term we should switch from `BytesValues` to Lucene's doc values APIs, in
particular the `SortedSetDocValues` class. While `BytesValues.WithOrdinals` and
SortedSetDocValues expose the same functionality, `BytesValues.WithOrdinals`
exposes its ordinals via a different `Ordinals.Docs` object while
`SortedSetDocValues` exposes them on the same object as the one that holds the
values. This commit merges ordinals into `BytesValues.WithOrdinals` in order to
make both classes even closer.

Global ordinals were a bit tricky to migrate so I just changed them to use
Lucene's OrdinalMap that will soon (LUCENE-5767, scheduled for 4.9) have the
same optimizations as our global ordinals.

Close #6524
Fielddata: Move `getTermsEnum` from `AtomicFieldData` to `BytesValues.WithOrdinals`.

Similarly to `SortedSetDocValues.termsEnum()`.

Relates to #6524
Fielddata: Remove BytesValues.WithOrdinals.currentOrd and copyShared.

These methods don't exist in Lucene's sorted set doc values.

Relates to #6524
Docs: Rewrote the filtered query docs to be clearer

Closes #1688
Add groovy as a scripting language, change default from mvel -> groovy

Sandboxes the groovy scripting language with multiple configurable
whitelists:

`script.groovy.sandbox.receiver_whitelist`: comma-separated list of string
classes for objects that may have methods invoked.
`script.groovy.sandbox.package_whitelist`: comma-separated list of
packages under which new objects may be constructed.
`script.groovy.sandbox.class_whitelist` comma-separated list of classes
that are allowed to be constructed.

As well as a method blacklist:

`script.groovy.sandbox.method_blacklist`: comma-separated list of
methods that are never allowed to be invoked, regardless of target
object.

The sandbox can be entirely disabled by setting:

`script.groovy.sandbox_enabled: false`

Also fixes all tests to run with Groovy instead of mvel
Fix typo for Char -> Character
Use .class.getName() instead of strings to avoid typos
Fixup docs
Add success case tests to test receivers whitelist
No need to reference that only simple expressions are needed