Guard against current check being nil

Just in case :)
[Fix #495] Explicitly track process state

Don't use process-status, because this leads to race conditions, when
the process status turns to `exit', but the sentinel wasn't yet called.
Flycheck would think the check was finished and start another one, which
would then lead to duplicated status reports.