v0.6.1: fix real per-packet lock-contention throughput bottleneck send_scheduled() was calling link::snapshot_scores() -- an async lock on every configured link -- on every single outgoing Data packet, unconditionally, even though Scheduler::select()'s primary/SWRR decision logic never reads the scores it's handed. Confirmed live via strace -f -c: ~75% of mlvpnd's wall-clock time was in futex contention, capping real tunneled throughput far below the link's measured raw capacity despite 0% loss and negligible CPU. New Scheduler::select_fast() resolves the same answer with zero link locking in the common case.