Packaging: Ensure setting of sysctl vm.max_map_count

In order to be sure that memory mapped lucene directories are working
one can configure the kernel about how many memory mapped areas
a process may have. This setting ensure for the debian and redhat initscripts
as well as the systemd startup, that this setting is set high enough.

Closes #4397
SloppyMath

Added copy of SloppyMath.java from lucene 4.6+
and setup GeoDistance for new haversin method

closes #3862
introduce an internal metadata uuid
Make listeners a final field in ShardIndexingService, which fixed possible visibility issue.