Quit resolve if there is an exception.
Follow-on from change @410702, which raised exceptions up to the user from
P4#run_resolve. Further testing showed that if multiple resolves are
scheduled and an exception is raised, then subsequent resolves would clear
that. We now check if an exception has been raised by an earlier resolve and
return early if there has been.
Unit test has been updated with this case.
User visible change to be documented in release notes.