Client operations that are used for retrieving a single message content/attachment now use the executePostMethodAsync so the client does not hang (until the search is finished) if a search is being performed and a user selects a message.
Issue: MIRTH-3228
MIRTH-3201: If multiple channels are deleted at once, an exception for one channel does not stop other channels from attempting to be deleted.
MIRTH-3198: If multiple channels/connectors are started/stopped/etc at once, an exception for one does not stop other channels/connectors from being started/stopped/etc.
No longer using ListRangeIterator to run searchLengthy only on potential message ids. In the worst case scenario where all odd or all even records are missing, searching by message list is significantly slower than just searching the entire range anyway. 
Issue: MIRTH-3191
MIRTH-3108: Fixed bug that caused message exporting to fail when the source connector is excluded from the search results. In getMergedConnectorMessage, we're now checking whether the source connector exists and only populating that info if applicable.
searchAll no longer returns a TreeMap. Instead it returns a HashMap since order does not yet matter. Each individual operation now creates a TreeMap only when necessary. 

For custom metadata, content, and text searches, only the range from the set of potential messages are searched now instead of the entire current range.
Issue: MIRTH-3191