Use PR's last updated field to ignore unchanged PRs.

Hypothesis: the only triggers for acting on a PR are:
- list of commits changed
- comment added

Both of these actions affect the updated field,
so we can reduce github interactions by tracking
when we last checked a PR and ignoring those that
haven't changed since.

The only other trigger for acting on a PR is when
a jenkins job finishes. We should have a watcher for that,
unless we were restarted between starting the job and seeing it end.

On startup, we check all PRs, launching jenkins watchers where necessary,
so this case should be covered as well.
Fix string interpol.
Simplify and relax build start logic.

When trying to start a job for a given target/pr/sha,
we reuse any build (running or finished) with matching parameters.

If we're running as the result of a PLS REBUILD ALL,
we blindly start the job.
Merge pull request #59 from adriaanm/rebuild-less

Rebuild less