Summary
Add a typed wrapper for Lua script execution via SE.Redis `ScriptEvaluateAsync`.
Proposed API
```csharp
Task<T?> ScriptEvaluateAsync(string script, string[]? keys = null, RedisValue[]? values = null, CommandFlags flag = CommandFlags.None);
Task ScriptEvaluateAsync(string script, string[]? keys = null, RedisValue[]? values = null, CommandFlags flag = CommandFlags.None);
```
Considerations
- The library already uses Lua internally (`HashGetAllAsyncAtOneTimeAsync`)
- Consider a `LoadedLuaScript` pattern for pre-loaded scripts (SCRIPT LOAD + EVALSHA)
- Consider read-only variant (`ScriptEvaluateReadOnlyAsync`) for replica routing
Summary
Add a typed wrapper for Lua script execution via SE.Redis `ScriptEvaluateAsync`.
Proposed API
```csharp
Task<T?> ScriptEvaluateAsync(string script, string[]? keys = null, RedisValue[]? values = null, CommandFlags flag = CommandFlags.None);
Task ScriptEvaluateAsync(string script, string[]? keys = null, RedisValue[]? values = null, CommandFlags flag = CommandFlags.None);
```
Considerations