Rewrote IdentifierLock

Added deadlock detection
Added deadlock detection between managers
Added lock disposal
Refactored lock disposal
Updated references to new lock manager
Small changes
Removed old identifier lock
Code cleanup

Added documentation
Split out disposable lock
Merge branch 'feature-deadlock' into develop