FC-34 FC-40 WIP Centralised MessageListener start/shutdown control in LifecycleController

The lifecycle of all MessageListeners need to be managed according to the blue-green deployment procedure for applications. This commit establishes a new component LifecycleController for management of MessageListeners and other request handlers.

Signed-off-by: Steffan Westcott <steffan.westcott@clicktravel.com>
The method shutdown() is specifically for stopping receipt of messages and completing processing of received messages. This may occur long before the destruction of the application context e.g. during blue-green deployment. To make the distinction clear, shutdown() and destroy() are distinct methods.