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
There's no easy way to access `daemon.Sockets` from `api/server/Server`. And I don't think it's worth making the effort, since I don't think a 3d-party tools should depend on this information in the first place. For one thing, it might cause security risks by leaking more information than the sysadmin expects to share with clients. For another, if boot2docker can connect to the daemon to make this query, doesn't it already know how to connect?

TLDR: I don't like how we expose too many internals in our public API and then are stuck having to maintain them. So I don't want to go out of my way to keep them.