Cleanup: refactor parsing and handling of Daemon config

* Merge `daemonconfig` into `daemon/config.go`
* Apply post-parsing default values in `NewDaemon` for DRY
* Command-line flags are defined and installed in `daemon.Config.InstallFlags` instead of in `main`

This depends on #7497
If we remove this, it requires a API bump as it's a breaking change.