registry.Registry -> registry.Session

renaming this struct to more clearly be session, as that is what it
handles.

Splitting out files for easier readability.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Add Self func to reexec pkg to return the current binary path

Signed-off-by: Michael Crosby <michael@docker.com>
Move userland proxies out of daemon's process

This PR moves the userland proxies for TCP and UDP traffic out of the
main docker daemon's process ( from goroutines per proxy ) to be a
separate reexec of the docker binary.  This reduces the cpu and memory
needed by the daemon and if the proxy processes crash for some reason
the daemon is unaffected.  This also displays in the standard process
tree so that a user can clearly see if there is a userland proxy that is
bound to a certain ip and port.

```bash
CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS              PORTS                                          NAMES
5d349506feb6        busybox:buildroot-2014.02   "sh"                13 minutes ago      Up 1 seconds        0.0.0.0:49153->81/tcp, 0.0.0.0:49154->90/tcp   hungry_pike
root@1cbfdcedc5a7:/go/src/github.com/docker/docker# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  18168  3100 ?        Ss   21:09   0:00 bash
root      8328  0.7  0.6 329072 13420 ?        Sl   22:03   0:00 docker -d -s vfs
root      8373  1.0  0.5 196500 10548 ?        Sl   22:03   0:00 userland-proxy -proto tcp -host-ip 0.0.0.0 -host-port 49153 -container-ip 10.0.0.2 -container-port 81
root      8382  1.0  0.5 270232 10576 ?        Sl   22:03   0:00 userland-proxy -proto tcp -host-ip 0.0.0.0 -host-port 49154 -container-ip 10.0.0.2 -container-port 90
root      8385  1.2  0.0   3168   184 pts/0    Ss+  22:03   0:00 sh
root      8408  0.0  0.1  15568  2112 ?        R+   22:03   0:00 ps aux
```

This also helps us to cleanly cleanup the proxy processes by stopping
these commands instead of trying to terminate a goroutine.

Signed-off-by: Michael Crosby <michael@docker.com>
Move daemonconfig into daemon

Signed-off-by: Solomon Hykes <solomon@docker.com>
opts.IpOpt: a helper to parse IP addressed from the command line

Signed-off-by: Solomon Hykes <solomon@docker.com>
Exit after receiving SIGTERM

Signed-off-by: Michael Crosby <michael@docker.com>
Merge pull request #7568 from crosbymichael/replace-7240

Exit after receiving SIGTERM
Helpers to parse lists, IPs, hosts, dns searches from the command line

Signed-off-by: Solomon Hykes <solomon@docker.com>
Parse daemon configuration in daemon.Config.InstallFlags instead of main

Signed-off-by: Solomon Hykes <solomon@docker.com>
opts.IPVal returns an error on incorrect input

Signed-off-by: Solomon Hykes <solomon@docker.com>
Check for conflicting daemon config options in NewDaemon

Signed-off-by: Solomon Hykes <solomon@docker.com>
Move remote API config out of daemon/

Signed-off-by: Solomon Hykes <solomon@docker.com>
Fix inconsistency in IP address parsing errors

Signed-off-by: Solomon Hykes <solomon@docker.com>
Remove FIXME file

Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Cleanup: initializeVolume

- Use a common struct for Volumes
- Split out some functionality in intializeVolume into separate functions
- Removes some duplicate code
- In general much easier to grok the code now

Docker-DCO-1.1-Signed-off-by: Brian Goff <cpuguy83@gmail.com> (github: cpuguy83)
Merge pull request #7484 from cpuguy83/cleanup_volume_init

Cleanup: initializeVolume
Merge pull request #7194 from vbatts/vbatts-registry_re-org

registry: cleanup and rename Registry -> Session
Merge pull request #7570 from erikh/remove_fixme

Remove FIXME file
Merge pull request #7548 from crosbymichael/proxy-exec

Move userland proxies out of daemon process
Merge pull request #7506 from shykes/cleanup-daemonconfig

Cleanup: refactor parsing and handling of Daemon config