MODE-2364 Changed the way the Infinspan listener approach is used when dealing with user transactions:

Instead of multiple listeners (which doesn't really scale), this approach uses 1 listener instance to handle all the different threads (transactions) and leverages the fact that we're using a `ThreadLocal` to store the active ModeShape transaction. Therefore, when notified, the listener should be able to tell if it's being notified for the tx associated with the current thread or not.
The only thing I'm not jazzed about is that we're calling these `execute...` operations on the ISPN listener thread. It works, but if these are long-running operations then we might want to consider other options. Thoughts?