Fix startup when there is no pid file.

On Windows at least, when the pid file is missing, open() will raise
IOError, not OSError, which the code wouldn't catch.  As a result, the
agent could not start up when no stale pid file was accidentally left
over.
Merge pull request #162 from guidow/no_pidfile_startup-fix

Fix startup when there is no pid file.
Don't try to kill child process if it has no pid

If we try that, the agent ends up killing itself instead. Oops!