MODE-2336 Changed the way ModeShape deals with user transactions

Instead of using synchronizers which cannot be ordered with respects to ISPN's synchronizer that actually persists the data, ModeShape now uses an Infinispan transaction listener which will only be called once ISPN has processed the transaction.
This is the only way that ModeShape can be consistently notified only after ISPN has finished processing a transaction.
Why did you pick 10 seconds? Is that time needed only when tests fail, or do we need this much time under all tests, even when they're successful?