Changed DaemonStateCoordinator.runCommand() so that it runs the command in a separate thread, and throws DaemonStoppedException when the daemon is forcefully stopped. This can then be delivered to the client and the client can then distinguish between a daemon crash/disconnect and a stop/cancel and log accordingly.
Fleshed out int test coverage for client logging and daemon cleanup when daemon is stopped or killed.
Fixed broken int test on windows.