MIRTH-3425: Fixed NullPointerException occurring when a 204 response is returned to an HTTP Sender.
MIRTH-3389: Added a new database task for 3.1 to create indices on the message metadata tables.
MIRTH-3427: The HTTP Listener is now setting the response status code before returning any response payload data to the client.
MIRTH-3428: Fixed bug that caused the HTTP Listener to throw exceptions when using the default response charset.
MIRTH-3429: Fixed ClassCastException occurring when calling getResponseData() from an ImmutableConnectorMessage.
MIRTH-3351

Added the ability for extensions to override any of the controller classes represented in ControllerFactory, as well as the DataPrunerController, by putting a <controllerClasses> element in plugin.xml.

Moved logic that reads the available extensions from the filesystem from DefaultExtensionController into a separate 'ExtensionLoader' class that has no dependencies on any controller classes.

Removed hardcoded references to controller classes from specific extensions in DefaultControllerFactory, DataPrunerController and (donkey) ChannelController.

Added wrapper methods in ChannelController to Donkey's ChannelController to get and reset statistics, so that these methods can be overridden by an extension.
MIRTH-3323: Fixed bug that caused the authentication yes/no property to not be saved properly.
MIRTH-3430: Fixed validation in the destination settings panel to be consistent with the rest of the application.