Generic chainparam selection with -network=<strNetworkID>

Continues #4804.
Deprecate -testnet and -regtest in favor of -network=testnet and -network=regtest.
When the old args are used a warning will be logged.
The repetition of the invalid combination error string is also avoided.
Additionally, the chainparam networkID is removed since it's not used anymore (as it shouldn't).

When the user doesn't provide a -network you don't want to default to main yet, you want to check the -testnet and -regtest flags before.
When we stop supporting -testnet and -regtest, the function can be as simple as this:

```
CBaseChainParams::Network NetworkIdFromCommandLine()
{
    std::string network = GetArg("-network", "main");
    if (network == "main")
        return CBaseChainParams::MAIN;
    if (network == "test")
        return CBaseChainParams::TESTNET;
    if (network == "regtest")
        return CBaseChainParams::REGTEST;
    if (network == "unittest")
        return CBaseChainParams::UNITTEST;
    throw std::runtime_error("Unknown network " + network + "\n");
}
```