feat(pi3 phase 2): bump rootfs to autodiscovery shims + E2E test
The Phase 2 shim originally hardcoded CHARDEV_PATH = /dev/vport0p2.
With QEMU 10 -M virt + virtio-blk-pci consuming slot 0, the proto
port actually lands at /dev/vport1p1 (or further). _transport.py
now walks /sys/class/virtio-ports/*/name looking for the literal
qemu name 'velxio-protocol' set by qemu_manager.
test/pi3_protocols/test_pi3_protocols.py end-to-end runner:
1. Boot QEMU virt + pipe chardev (same args as production)
2. Connect cons TCP socket + open both ends of the FIFO pair
3. Wait for agetty autologin
4. Run 'import RPi.GPIO; setup(17, OUT); output(17, 1)' in guest
5. Read FIFO.out, assert 'GPIO_SETUP 17 out' + 'GPIO 17 1' appeared.
Catches: shim path resolution wrong, pipe chardev regression,
mux protocol drift, site-packages overlay broken.