ParseEnvironment parses the content of a configuration file and replaces
placeholders for environment variables with the value from the OS, or
uses the default-value if the environment variable isn't set.
ParseEnvironment looks for the following patterns:
${MY_ENV}
${MY_ENV:defaultValue}
If a default value is not provided and an environment variable is not set an
error will be returned.