Add Daemon restart test along with Daemon utils

This PR allows writing tests that need a daemon restart.
There is also a very useful test case that can also serve as an example on how to use it.

Ping @unclejack @tianon @vieux
Do we do `fmt.Sprintf("unix://%s/docker.sock", d.folder)` in enough places to justify making a `d.sock()` method?