MIRTH-3222
MIRTH-3180
Messages are now recovered in order of messageId regardless of what type of recovery needs to occur (orphaned source queue, unfinished message, destination received or pending). We're basically retrieving all messages that need to be recovered into a buffer and merging them based on the lowest messageId. A message will be fully recovered (including postprocessor and marking as processed) before the next one runs.

MIRTH-3470
Recovery is now batched so not all messages that need to be recovered are pulled into memory at once.

MIRTH-3467
The destination queue threads are now started after recovery. The destination connectors themselves are still started before recovery.
MIRTH-3352

Made the 'UNKNOWN' deployed state haltable so that channels in an unknown state can be halted.
MIRTH-2196

The server name is now cached in memory by DefaultConfigurationController, so that the database does not need to be accessed to fetch the server name.

Added a getServerName() method to ConfigurationController that returns the cached server name.
Created a generic, custom event that can be used to dispatch events with custom properties. This is currently being used to dispatch alerting events for clustering.
Issue: MIRTH-3472