scan_by_path_prefix now matches BOTH an exact leaf (p == dir) and any
descendant (p.starts_with(dir + '/')), so returns
(the leaf itself) as well as (a child).
Previously a bare dir normalized to 'dir/' and rejected exact leaves.
Also fixes the unit test to assert the corrected semantics (exact leaf
answers its own parent query).
Falls out of wiring the OS migration scripts: their companion index
records (c200/z090 GNS band) carry path=/cubelinux/os/... metatags, and
the daemon reconstructs the whole migrated tree from them.