Fixed bug where failed SCM polls caused builds to trigger.

If an SCM poll failed in compare(), the error was caught, and a fake changeset
returned to the caller.  This then triggered a build to happen because it thought a
change had been detected.  Reverted.
Restore fixes lost by a previous merge.

A number of fixes were applied by @deluan in commit
ba2282a01b61bb69084e553f50201cef2dc9f0ab but were subsequently lost
amongst the merges in pull request #7.