Allow reading output of external command to get configurations

This commit allows the user to configure Redshift to run an external command
and read its output to get values for the settings. And it allows for fallback values
if it fails.

For example, changing the line `crtc=0` in redshift.conf to
```sh
crtc=fallback-value$(get-crtc-by-edid long-edid-value)
```
This will run the command `sh -c "get-crtc-by-edid long-edid-value"` and read its
output and use that for the `crtc` setting. But if `get-crtc-by-edid` is killed by a signal
or exit with a value other than zero, or otherwise cannot be executed successfully,
it with use the value `fallback-value`.