Plugins: Introduced pluggable filter chain to be able to filter transport actions execution

It's now possible to inject action filters from plugins via `ActionModule#registerFilter` through the following code:

```
    public void onModule(ActionModule actionModule) {
          actionModule.registerFilter(MyFilter.class);
    }
```

Also made `TransportAction#execute` methods final to enforce the execution of the filter chain. By default the chain is empty though.

Note that the action filter chain is executed right after the request validation, as the filters might rely on a valid request to do their work.

Closes #6921
Netty: Refactoring to make MessageChannelHandler extensible

Small refactorings to make the MessageChannelHandler more extensible.
Also allowed access to the different netty pipelines

This is the fix after the first version had problems with the HTTP
transport due to wrong reusing channel handlers, which is the reason
why tests failed.

Relates #6889
Closes #6915
[TEST] an active shard might also be relocating
[TEST] Add SuppressSysoutChecks to DistributorDirectoryTest
[TEST] Temporarily ignore transport update tests.
Aggregations: Track scores should be applied properly for `top_hits` aggregation.

Closes #6934
[TEST] top_hits aggs with breath_first collect mode only fails if scoring is used (score based sort or track_scores)
Docs: Update documentation about execution hints for the terms aggregation.
[Engine] `index.fail_on_corruption` is not updateable

The `index.fail_on_corruption` was not updateable via the index settings
API. This commit also fixed the setting prefix to be consistent with other
setting on the engine. Yet, this feature is unreleased so this won't break anything.

Closes #6941
[RESTORE] Fail restore if snapshot is corrupted

today if a snapshot is corrupted the restore operation
never terminates. Yet, if the snapshot is corrupted there
is no way to restore it anyway. If such a snapshot is restored
today the only way to cancle it is to delete the entire index which
might cause dataloss. This commit also fixes an issue in InternalEngine
where a deadlock can occur if a corruption is detected during flush
since the InternalEngine#snapshotIndex aqcuires a topLevel read lock
which prevents closing the engine.

Closes #6938
[TEST] Activate test in PluginManagerTests that is supposed to be fixed
[TEST] Stress test for update and delete concurrency.

This test deletes and updates using upserts documents over several threads in a
tight loop. It counts the number of responses and verifies that the versions at
the end are correct.
Merge branch 'master' of github.com:elasticsearch/elasticsearch
[TEST] Plugin Manager

Undo removal of change.
Merge branch 'master' of github.com:elasticsearch/elasticsearch
[TEST] Remove TransportUpdateActionTest

This test has been made obselete by the UpdateTests.
Docs: Typo
typo

causes the example to fail in bash
[TEST] Stress Update/Delete

Create the test index with merging disabled so deletes don't get merged away
this was breaking the version calculation.
More lenient type parsing in histo/cardinality aggs
closes #6948
closes #6893