This brings along proper password encryption and validation for the login process (which is still not needed for local connections).
You can run the remote connection tests by passing a system name and password as 2 arguments (so the system name needs to be quoted, e.g.: `test "Pentair: xx-xx-xx" 1234`)
Also updated to latest .NET Core and C# versions while I was at it.