perf: parallelize `exact?` and `apply?` tactics

Use `MetaM.parIterWithCancel` to try all candidate lemmas in parallel
while preserving deterministic result ordering. When a complete solution
is found, remaining tasks are cancelled and the result is returned
immediately.

This removes the old sequential `tryOnEach` implementation along with
the heartbeat-based abortion mechanism (`abortSpeculation`,
`mkHeartbeatCheck`).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2 files changed