Add initial locking mechanism
Uses zarcillo and supports locking with multiple granularities:
- instance
- section
- host ...based on the data already on zarcillo. Supports multiple lock priorities. Tracks the lock owner by module name, PID, hostname, username. Identifies locks by uuid, instance, description. Locks are "soft-deleted" by setting NOW() as expiration time in order to provide visibility on past locks.
Bug: T384810