Fixed file-based template loading via config/templates

When parsing the json file, the first field is ignored as
parser.nextToken() seems to be called too often.

Closes #4235
Cleanup Rescorer Tests & add random indexing
Fix assertions in testEquivalence and beef up the test
Catch AlreadClosedException in RobinSearcher#release()

When we relocate a shard we might still have pending SearchContext
instances hanging around that will be used in "in-flight" searches
on the already relocated shard. This is a valid operation but if
we have already closed the underlying directory which happens during
cleanup concurrently the close call on the IndexReader can trigger
an AlreadyClosedException when the NRT reader tries to cleanup files
via the IndexWriter.

Closes #4273
[DOCS] Documented rest.action.multi.allow_explicit_index
[DOCS] Fixed a bad link
Update to shade plugin 2.2 to shade test artifact as well

When we want to use test artifact in other projects, dependencies
are not shaded as for core artifact.

Issue opened in maven shade project: [MSHADE-158](http://jira.codehaus.org/browse/MSHADE-158)

When using it in other projects, you basically need to change your `pom.xml` file:

```xml
<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>${elasticsearch.version}</version>
    <type>test-jar</type>
    <scope>test</scope>
</dependency>
```

You can also define some properties:

```xml
<properties>
    <tests.jvms>1</tests.jvms>
    <tests.shuffle>true</tests.shuffle>
    <tests.output>onerror</tests.output>
    <tests.client.ratio></tests.client.ratio>
    <es.logger.level>INFO</es.logger.level>
</properties>
```

Closes #4266
Made hole character in XAnalyzingSuggester part of Postingsformat

* Hole charactor now can change with new releases
* Fixed bug where the SEP_LABEL constant was used instead of the sepLabel instance variable
* Replaced if- with switch-statement
Use FilterDirectory from lucene instead of maintaining a copy

FilterDirectory has been ported to Lucene in LUCENE-5204 which makes
the class in elasticsearch obsolet. This commit removes the class and
moves the static utils that are not in lucene to `DirectoryUtils`
Upgrade Maven Assembly Plugin to 2.4

Closes #4278.
Upgrade Maven Compiler Plugin to 3.1

Closes #4279.
Upgrade Maven Dependency Plugin to 2.8

Closes #4274.
Upgrade Maven Eclipse Plugin to 2.9

Closes #4277.
Upgrade Maven Jar Plugin to 2.4

Closes #4281.
Upgrade Maven Resources Plugin to 2.6

Closes #4280.
Upgrade RPM Maven Plugin to 2.1-alpha-3

Closes #4282.
Upgrade Maven Source Plugin to 2.2.1

Closes #4276.
Upgrade Maven Surefire Plugin to 2.16

Closes #4275.
Fixed positive infinity bug that can occur in specific scenarios when score mode average is used.

Closes #4291
OOM when building with java6

The maven-compiler-plugin upgrade from 2.3.2 to 3.1 (see #4279) could cause out of memory issue when building the project with Maven and JDK6 and default memory settings (no `MAVEN_OPTS`).

This issue does not appear with JDK7.