MULE-7040:Request-reply throwing ResponseTimeoutException on Mule shutdown

_ Adding AbstractAsyncRequestReplyRequester#createEventLock factory method to be able to use fake Latchs on tests.
(cherry picked from commit 742cee1)
(cherry picked from commit 755e151)
(cherry picked from commit ce170a2)
MULE-7041: EventProcessingThread must manage exceptions thrown by implementation classes
(cherry picked from commit 990bbf3)
(cherry picked from commit ffa1f11)
(cherry picked from commit 3e52d5d)
MULE-7042: Event correlation timeout incorrectly detected on cluster
(cherry picked from commit 9ef8e1b)
(cherry picked from commit 7ddad34)
(cherry picked from commit 5c9c32e)