Locking for delete and metadata operations.  Split locking functionality into a separate class so it can be reused outside the digitalObjectManager