Adds an "Include defanged" boolean arg (default false) and refactors the IPv4/IPv6/removeLocal regex assembly to use dotSep/colonSep variables. With the arg off the variables collapse to the original literal separators, so the regex string is byte-identical to the pre-change op. Behaviour unchanged; no new tests yet.