Skipping execution of remaining Deciders if one of them returns a Decision.NO.

Reordering execution of the different AllocationDeciders, so the cheapest get executed first.
Add trace logging to AllocationDeciders if decision is NO()
Added the `force_source` option to highlighting that enforces to use of the _source even if there are stored fields.
The percolator uses this option to deal with the fact that the MemoryIndex doesn't support stored fields,
this is possible b/c the _source of the document being percolated is always present.

Closes #4348
Fixed test bug
Aggregations: Ordinals-based string bucketing support.

When the ValuesSource has ordinals, terms ordinals are used as a cache key to
bucket ordinals. This can make terms aggregations on String terms significantly
faster.

Close #4350
Relax a bit the accuracy tests on SloppyMaths.

Tests now ensure that the computed distance is correct within 1‰ instead of 1‱.
Don't try to run check-index in MockDirectoryWrapper

if the MockDirWrapper checks the index on close it closes all
closeables that is has to crash the index if something is not flushed yet.
For us this is a problem since the input is still used. We need to fix this in
lucene first.
More common AcknowledgedRestResponseActionListener

Introduced use of AcknowledgedRestResponseActionListener in put/delete index template
upgrade to Jackson 2.3.0
upgrade to latest jsr166