Removed getEngineExecutor and now performing the same tasks inline.

submitHaltTasks is no longer synchronized on the entire method. Instead it will shutdown the executor once outside the synchronized block and once within. This allows us to halt tasks even if the something else is holding the synchronized lock, such as restoring server configuration.

Added a helper method shutdownExecutor since the same thing is being done multiple times.

haltChannels now uses executePostMethodAbortPending so we don't run out of connections if multiple channels need to be halted.
Issue: MIRTH-3393