environment variables are replaced in conf file

Environment variables of the form `${VARIABLE}` are replaced with their contents before loading the configuration file -  this is to allow keys, secrets, and passwords that should not be checked into source control to be referenced in the configuration file.