adding a new model for positive durations, that guarantees self consistency
supporting configurable lock timeout durations, on the lock-registry level. it forbids -1 (infinite) timeouts, because I think that's a code smell.
adding a configurable global timeout duration. use the global timeout if the lock registry doesn't have its own timeout duration.