Added support for deadlock between IdentifierBasedLock instances

Even when using multiple instances of an IdentifierBasedLock, they will detect
when a deadlock is about to occur. The deadlock detection will only be executed
if the lock fails to be acquired immediately, making it run faster in
uncontended scenarios.

Issue #AXON-151 Fixed in 2.0.3,2.1
Issue #AXON-151 Fixed