backend: Update make first-run to read existing configuration variables (#866)
* backend: Read existing .env file when running make first-run
* Read values from existing yaml config file if it exists
* backend: Prompt user to overwrite config file in make first-run if it is invalid
* backend: Ensure yaml secrets are read in make first-run
* backend: Refactor reading of existing yaml config in make first-run