Added unit tests or zone awareness
Fix searching while shard is being relocated

Shard relocation caused queries to fail in the fetch phase either with a
`AlreadyClosedException` or a `SearchContextMissingException`.
This was caused by the `SearchService` releasing the `SearchContext`s via the
superfluous call of `releaseContextsForShard()` when the
Recover small files (< 1mb) using a separate threadpool than large files.

Fixes #3576
AwarenessAllocationTests must extend ESTestCase in order to respect AwaitsFix annotations
Merge branch 'master' into master-sonar