Evaluator batches: make plans atomic, evidence bounded, and costs node-aware

Reusable evaluator-pipeline pattern from COR-4061: server-normalize and content-address every frozen evaluation plan, then register that plan and create the batch in one transaction after the scoped idempotency check. Execute exactly the declared evaluation methods; bound retained evidence per component and derive references only from retained components; reserve semantic spend from each call's actual frozen node count; bulk-fetch durable results; fold repeated logical node occurrences before aggregating exact compatibility groups. This avoids silent default plans, orphan plans, unbounded reference fan-out, worst-case over-reservation, N+1 result reads, and duplicate-node aggregate failures.