Mappings: Fix Get field mapping api with pretty flag

Closes #6552
[ENGINE] Remove engine related command classes

Todaqy we pass structs to the engine to call optimize / refresh and flush.
This commit cleans up this logic to reduce complexity in the engine.
[SCRIPT] ScriptService can deadlock entire nodes if script index is recovering

we currently have operationThreaded set to false when indexing a script. This setting
means that if we are executing the operation locally that we don't spawn a new thread for
it althought incoming thread in this case is the network thread. Now sicne we are indexing here
the engine is currently recovering which sometimes locks the engine for finalization blocks on
a network call waiting for the recovery target to come back the internal lock in engine will never be
released since we are waiting with our network thread for it to be released.
HTTP: Add 'http.publish_port' setting to the HTTP module

This change adds a 'http.publish_port' setting to the HTTP module to configure
the port which HTTP clients should use when communicating with the node. This
is useful when running on a bridged network interface or when running behind
a proxy or firewall.

Closes #8807
Closes #8137
Packaging: Add java7/8 java-package paths to debian init script

If you use the java-package tool to create java packages, those
paths also should be added to the debian init script.

Also updated the docs, that it is ok to install java8.

Closes #7383
[GATEWAY] Cleanup LocalGatewayShardsState

This commit tries to cleanup LocalGatewayShardsState to be more efficient
and easier to understand.
[API] indices.upgrade's wait_for_completion param defaults to false
Remove some Internal* abstractions

We have lots of boilerplate code that is unnecessarily abstracting
services ie InternalIndexShard and IndexShard or InternalIndexService and
IndexService. It's enough to have concrete classes for these core classes.

Closes #8904