Problem
BIP14 defines the sub_version_num field in version messages as a user-agent string, but there are still internal and user-facing references to “subver/subversion” (as noted in #34389 (review)).
Fix
The first commit performs the bulk of the mechanical work via a scripted-diff that (with a leading preflight check to make sure the target names don’t collide), renaming internal identifiers from *SubVersion*/subver* to *UserAgent*/user_agent. I have verified the mechanical renames via to produce the same binary (except for the test_FormatSubVersion unit test name).
The second commit follows up with the remaining non-mechanical cleanup, adjusting user-facing descriptions, comments, and local variable names to use “user agent” and explicitly referencing BIP14 as justification.
For compatibility, the RPC keys (subver, subversion) are intentionally left unchanged.