deb: add resumable build sessions
Every local build records a session under /var/tmp/pkh/sessions: the bootstrapped chroot, the installed build dependencies, the phase journal and the staged tree with a persistent overlay upperdir. Rebuilding after a failure currently redoes the tarball extraction, apt update, build-dep resolution and the whole compile; a kernel-sized package loses half an hour per iteration. Recording is always on, reuse is opt-in (--resume [<id>]): the newest session of the tree, or the one matching an id as shown by 'pkh deb list' (one session per series/arch/cross identity, ids are build-start timestamps). Resume skips the chroot bootstrap (integrity marker + tarball check), re-mounts the previous upperdir so make recompiles only what changed, pops the quilt series first when debian/patches changed, and clears debian/files before re-packaging so artifact collection stays exact. A version bump keeps the environment and discards the build artifacts. Explicit selectors disagreeing with the adopted session are an error, never a silent environment switch. Failures and Ctrl+C keep the session (the interrupt hook unmounts but preserves the tree); a success consumes it unless --keep. Concurrent same-identity builds serialize on a lock file kept OUTSIDE the session root: teardown removes the root while holding the lock, and a lock inside it would be deleted under the holder, letting the next opener lock a fresh inode. The apt phases rerun on resume (idempotent, seconds-cheap) rather than being stamp-gated.
This commit is contained in: