Fixes #31426.
Motivation
-noconnect=0 is interpreted as -connect=1, which is interpreted as -connect=0.0.0.1
bitcoind -noconnect=0 -debug=net
before this change that leads to a connection attempt to 0.0.0.1 (and the usual -connect parameter interactions that disable listen/dnsseed). bitcoind should not try to connect to 0.0.0.1 from that permutation.
Change
Fail init for invalid -noconnect values, same pattern as -wallet / -nowallet: -connect must be a string host/IP -noconnect / -noconnect=1 still disable automatic connections
Double-negatives like -noconnect=0 are stored as boolean true, which GetArgs stringifies as "1" and Lookup resolves as 0.0.0.1
those now error instead.