[BUG] Recording a subset of paths permanently hides pre-existing changes in other files

After recording only some paths, unrecorded changes in other files
(modified in an earlier second) become invisible: pijul diff shows
nothing and pijul record <file> says “Nothing to record”, until the
file’s mtime changes again (e.g. touch).

Repro (deterministic, Linux/ext4, 1.0.0-beta.11)

pijul init .
echo a > a.txt; echo b > b.txt
pijul add a.txt b.txt
pijul record -a -m init
echo a2 > a.txt; echo b2 > b.txt    # edit BOTH
sleep 2                              # cross a second boundary
pijul record -m "a only" a.txt
pijul diff -s                        # ← empty: b.txt's edit invisible
pijul record -m b b.txt              # ← "Nothing to record"
touch b.txt
pijul diff -s                        # ← "R b.txt" again

Mechanism

modified_since_last_commit (record.rs:897 in libpijul beta.11)
re-diffs a file only if file_mtime >= channel.last_modified (the
latter floored to seconds). But record() ends with
touch_channel(channel, None) (record.rs:551) unconditionally —
including prefix records
— setting that stamp to “now”. So a prefix
record bumps the stamp past the mtime of every dirty file it didn’t
cover, and those files are presumed clean from then on.

The stamp’s required invariant is stamp ≤ mtime of every file that
differs from the pristine
; a prefix record can’t guarantee that for
files outside its prefix, so it shouldn’t bump the stamp.

(When the edit and the prefix record land in the same second, the
seconds-flooring + >= keeps the file visible — making the bug
intermittent in practice.)

Logic is unchanged in pijul-core 1.0.0-beta.13 (record.rs:902 / :551).

Proposed fix

Skip touch_channel when record was invoked with path prefixes
(full-tree records keep the fast path).