Fix edge case handling in Rust protover is supported
Tor's Rust FFI for protocol_list_supports_protocol_or_later() returns true for the empty protocol list.
In C, the function returns false, but this behaviour is undocumented.
This bug doesn't affect protocol_list_supports_protocol() in Rust, because the Rust error checks are done in a different order.
I'll add a quick fix to legacy/trac#33222 (moved), but someone else will need to do the backport. We might want to do the Rust error checks in the same order, too.