override via environment variables.
Example usage:
`env dsl.config.repos.middleware.branch=update_diffreduc_and_flakefix make update`
Things to note:
1. `dsl.config.` is a general purpose prefix to identify build system config
related env vars amidst the rest of them
2. This mechanism is not additive and will not allow you to add new config
config vars instead just edit existing ones.
3. It will inform you via a log of a misformed env var that has `dsl.config.` prefix.
4. It will also log a successful override of a var.
Feel free to review/comment for correctness and/or complexity.
Ticket: #16118
* Automatically expand $VARIABLES inside strings without calling e() on string.
* Automatically convert dicts to ConfigDicts. ConfigDict members can be accessed using dot syntax (eg. dict.member instead of dict["member"])
* Build profiles are stored in build/profiles/ directory (one subdirectory per profile)
* Main profile config file is called config.pyd
* Profiles other than default should inherit default profile config and modify it
* DSL syntax changed to more readable and more flexible