host: Move persistence path to host state setup time, and ensure it has a default when starting the host executable.

This is mostly clarifying behavior because previously persistence would do some rather odd things if restore hadn't previously been called.

Also, bring go-check into the host state tests, because these tests are touching the filesystem and crave tmpdirs.

Signed-off-by: Eric Myhre <eric@flynn.io>
host: Add test covering state persistence and restore.  Fix things uncovered, namely silly mutexes.

Signed-off-by: Eric Myhre <eric@flynn.io>