Lock timing (TTL, wait timeout, retry interval) was hardcoded in LockBase, giving consumers no way to tune behaviour for their SLOs. This introduces LockConfiguration — a simple, immutable config object — to make these values configurable per instance