Refactor: Move request content generation into gpt_check function
The Condition option was previously expected to return both a boolean decision and the content for the LLM request. This behavior was non-obvious and only discovered through extensive debugging and code analysis (confirmed by rspamd#5857).
The condition setting now only returns a boolean for the decision (true/false) and an optional reason. Generating the request content has been moved into the gpt_check function, making the condition callback simpler to implement.
Example condition:
```
condition = <<EOD
return function(task)
local result = task:get_metric_result()
if result then
local score = result.score
if score < 2.0 or score > 8.0 then
return false, ‘outside the range’
end
end