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
Shouldn't this and the one below use `filepath.Join` like you did above when you did `os.MkdirAll`?