Batch-verify a homogeneous slice of Ed25519 signatures. All three
inputs must have the same length. Returns Ok(()) if every
signature is valid under its paired (message, public_key); any
single invalid signature causes the whole batch to fail with
VerifyOutcome::Invalid (you then have to fall back to
per-signature verify to find the culprit).