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.