Update forbidden-apis to 1.5.1 and remove the relaxed missing classes error.
Merge remote-tracking branch 'upstream/master'
[TEST] randomize byte size and thread count in breaker tests
Packaging: Dont remove ancestors on deb removal

The used -p option could result in accidentally deleting more directories
than /var/lib/elasticsearch - so this option was removed

Note: This only happens if the directories are empty, but still isnt needed.

Relates #5770
Term Vectors API: adds support for wildcards in selected fields

This could useful to generate all term vectors or a chosen set of them.

Closes #7061
Merge branch 'master' of https://github.com/elasticsearch/elasticsearch
[TEST] Rest API: cat.count regexp matchers now explicitely test for newline
Docs: Fix syntax on lang-analyzer

Some of the language analyzer documentation contained invalid json.

Closes #7098
[TEST] Concurrent percolation more randomized + safe use of rand
Rewrote post-filter.asciidoc

Closes #5166
Update translog.asciidoc

Documented `index.gateway.local.sync`
[BUILD] Add profile that skips all validations

This commit adds a profile that skips all validation ie.
 - nocommit / tabs checking
 - forbidden API checks
 - license headers

It's not active by default but can easily be activated with
  `mvn -Pdev` or in the `~/.m2/settings.xml`

for reference see:
  http://maven.apache.org/guides/introduction/introduction-to-profiles.html
[TEST] Increased logging and make use of prepareCreate and assertAcked
[TEST] All shards should be allocated before snapshotting & restoring
cluster block with auto create index bulk action can cause bulk execution to not return
when there is a cluster block (like no master yet discovered), the bulk action doesn't properly catch the exception of inner execute to notify the listener, causing the bulk operation to hang
closes #7086
_geo_distance sort: allow many to many geo point distance

Add computation of disyance to many geo points. Example request:

```
{
  "sort": [
    {
      "_geo_distance": {
        "location": [
          {
            "lat":1.2,
            "lon":3
          },
          {
             "lat":1.2,
            "lon":3
          }
        ],
        "order": "desc",
        "unit": "km",
        "sort_mode": "max"
      }
    }
  ]
}
```

closes #3926
[TEST] Reduce number of updates and wait after 1st NoNodeException.
Generate timestamp when path is null

Index process fails when having `_timestamp` enabled and `path` option is set.
It fails with a `TimestampParsingException[failed to parse timestamp [null]]` message.

Reproduction:

```
DELETE test
PUT  test
{
    "mappings": {
        "test": {
            "_timestamp" : {
                "enabled" : "yes",
                "path" : "post_date"
            }
        }
    }
}
PUT test/test/1
{
  "foo": "bar"
}
```

You can define a default value for when timestamp is not provided
within the index request or in the `_source` document.

By default, the default value is `now` which means the date the document was processed by the indexing chain.

You can disable that default value by setting `default` to `null`. It means that `timestamp` is mandatory:

```
{
    "tweet" : {
        "_timestamp" : {
            "enabled" : true,
            "default" : null
        }
    }
}
```

If you don't provide any timestamp value, indexation will fail.

You can also set the default value to any date respecting timestamp format:

```
{
    "tweet" : {
        "_timestamp" : {
            "enabled" : true,
            "format" : "YYYY-MM-dd",
            "default" : "1970-01-01"
        }
    }
}
```

If you don't provide any timestamp value, indexation will fail.

Closes #4718.
Closes #7036.
Search Exists API: Checks if any matching documents exist for a given query

Implements a new Exists API allowing users to do fast exists check on any matched documents for a given query.
This API should be faster then using the Count API as it will:
 - early terminate the search execution once any document is found to exist
 - return the response as soon as the first shard reports matched documents

closes #6995
Mappings: Fix `copy_to` behavior on nested documents.

Today, `copy_to` always copies a field to the current document, which is often
wrong in the case of nested documents. For example, if you have a nested field
called `n` which has a sub-field `n.source` whose content should be copied to
`target`, then the latter field should be created in the root document instead
of the nested one, since it doesn't have `n.` as a prefix. On the contrary, if
you configure the destination field to be `n.target`, then it should go to the
nested document.

Close #6701