Add support in `BoundValueOperations`, imperative and reactive `…ValueOperations` and on the connection level. On the operations level we could have: ```java V getAndExpire(K key, long timeout, TimeUnit unit); V getAndExpire(K key, Duration timeout); V getAndPersist(K key); V getAndDelete(K key); ``` See https://redis.io/commands/getex and https://redis.io/commands/getdel