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
@tianon I confirm that if DOCKER_GRAPHDRIVER or DOCKER_EXECDRIVER is empty, it will default to something and not panic. it's equivalent to `docker -d -D -s '' -e ''`.