Parses a ;-separated batch of one or more statements (e.g.
"CREATE (a); CREATE (b); MATCH (n) RETURN n"). A ; inside a string
literal doesn’t split anything — see queries’ grammar comment.
Resolves every $name placeholder in stmt to a concrete Literal
using params, in place. Called before execution so the executor never
sees Literal::Param — see the unreachable! in
executor::literal_to_value.