Switched to .NET 4+ locking semantics (i.e. Monitor.Enter using lockTaken overload).  Original ILock remains for backwards-compatibility, but ISafeFailingLock should be used going forward.