[Feature Request] Support for comma-separated no_proxy envrionment variables

Hey,

we are using Mender alongside other services on devices at customer sites. When a customer needs a proxy, we’d like a single, centralized configuration file with the proxy-related environment variables that we inject into all services that need them.

Most HTTP client libraries (libcurl, Go’s net/http, .NET) expect no_proxy as a comma-separated list, e.g.:

no_proxy=localhost,.example.com,foo.bar

The Mender documentation, however, states that the client only supports a whitespace-separated list:
Configuration | Mender documentation

Which matches the implementation here:

Is there a reason not to also support comma-separated lists?
A whitespace-separated list never contains a comma, and vice versa, so the code could check for a comma and split on , if present, otherwise on whitespace. This wouldn’t break existing configurations.

 bool HostNameMatchesNoProxy(const string &host, const string &no_proxy) {
-	auto entries = common::SplitString(no_proxy, " ");
+	auto entries = common::SplitString(no_proxy, no_proxy.find(',') != string::npos ? "," : " ");
 	for (string &entry : entries) {

Edit: Since mender-update only accepts a whitespace-separated no_proxy, its child processes inherit that value too. Since most HTTP libraries expect commas, they then fail to parse it and effectively ignore no_proxy.