Added overloaded locking methods in BlockingWriteLock and DistributedOperationExecutor that will timeout if a specified period elapses before obtaining the lock.