refactor SimpleQueryParser settings into separate class, add "lenient" option

Fixes #5011
Migrated p/c queries from id cache to field data. Changed p/c queries to use paging data structures (BytesRefHash, BigFloatArray, BigIntArray) instead of hppc maps / sets.
Also removed the id cache.

Closes #4930
Added missing licence header.
Moved AbstractHash, BytesRefHash and LongHash to o.e.common.util
[DOCS] Updated memory considerations for p/c queries and filters.
Upgrade to Lucene 4.7

Closes #5104
Closes #5129
Closes #3757
Expose `filler_token` via ShingleTokenFilterFactory

Lucene 4.7 supports a setter for the `filler_token` that is
inserted if there are gaps in the token stream. This change exposes
this setting.

Closes #4307
Improve `arc` geo-distance accuracy.

Close #5192
Moved es download master url from JDK7 to JDK6
Enable trace logging for RandomExceptionCircuitBreakerTests.testBreakerWithRandomExceptions
Add tracking of allocated arrays.

The BigArrays utility class is useful to generate arrays of various sizes: when
small, arrays will be allocated directly on the heap while larger arrays are
going to be paged and to recycle pages through PageCacheRecycler. We already
have tracking for pages but this is not triggered very often since it only
happens on large amounts of data while our tests work on small amounts of data
in order to be fast.

Tracking arrays directly helps make sure that we never forget to release them.

This pull request also improves testing by:

 - putting random content in the arrays upon release: this makes sure that
   consumers don't use these arrays anymore when they are released as their
   content may be subject to use for another purpose since pages are recycled

 - putting random content in the arrays upon creation and resize when
   `clearOnResize` is `false`.

The major difference with `master` is that the `BigArrays` class is now
instanciable, injected via Guice and usually available through the
`SearchContext`. This way, it can be mocked for tests.
Review round 1 & rebased to have the p/c id cache changes.