socks: Implement proposal 351.
See https://spec.torproject.org/proposals/351-socks-auth-extensions.html
This proposal changes the interpretation of SOCKS5 usernames/passwords to give a more principled and extensible way of getting RPC IDs and isolation strings.
This addresses the Arti side of #1615 (closed).