heretic-cli update

The two-phase self-update — release lookup, platform asset naming, staging as .heretic-cli.pending, applying it on the next run with backup and rollback, package-install detection, and manual recovery