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
I understand why this was removed from the daemon but why is it not placed back in the request?  People are depending on this information like @SvenDowideit with boot2docker.