INT-3352 RedisLockRegistry

JIRA: https://jira.spring.io/browse/INT-3352

Provid a global lock registry, initially for the correlating
message handlers.

INT-3252 Polishing

- Use a discrete key for each lock and use Redis EXPIRE
- Use an internal DefaultLockRegistry to improve latency
    when threads are using the same registry instance.

INT-3352 More Polish

- Put localLock.unlock() in a finally block.
- Unlock localLock if acquiring the RedisLock fails.

INT-3352 Polishing - PR Comments

- PR Comments
- Improve equals()

INT-3352 Add Aggregator Integration Test

- move lock registry to the `util` package
- Add an aggregator integration test

INT-3352 Add Distributed Aggregator Test

- Simulates a distributed environment with a shared message
    store and distinct lock registries.

INT-3352 More PR Comments

INT-3352 Add Multiple Registry Tests

- Add tests to verify expected behavior when different registries are used.
- Polish javadocs.