perf(strategy): memoize empty-remote guard so it costs nothing post-bootstrap
Commit

Addresses review feedback on #1744: deferCheckpointPushOnEmptyRemote ran an ls-remote network round trip per push target on every push, even though it only matters during the first-push window and always returns "publish" once the remote is populated.
Once every push target has been observed with at least one branch, record a fingerprint of that target set in a repo-level marker under the git common dir (.git/entire/checkpoint-push-bootstrap, shared across worktrees). Later pushes short-circuit on the marker instead of probing the network. The fingerprint is order-independent and self-invalidates if the push URLs change, so a reconfigured remote is re-checked. The marker lives outside .git/config to avoid polluting the user's git configuration.
Tests: fingerprint order-independence, and a behavioral proof that the marker skips the network probe (guard returns "publish" against an unreachable remote only via the cached marker; a stale fingerprint falls back to probing).
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com Entire-Checkpoint: 01KXFYDXDMXBHQAPMYXC3SVEQF