Merge pull request #51 from adriaanm/update-api-pull

Update api pull
Merge pull request #52 from adriaanm/always-synch

don't ignore pls synch, even if job considered pending
drop unused fields from BuildStatus, improve toString
cleanup synching, automatically synch roughly every two hours
Assume we're watching jenkins if commit status exists.

We used to distinguish whether the status was (success or error)
versus (failed or pending), but this doesn't really make sense: we
don't use `failed` to indicated jobs that failed to run for external
reasons and thus need to be restarted. In fact, the result of a job
that indicates an error (compile or test failure etc) is "FAILURE"
(and thus `status.failed`), so we should've been doing it the other
way around.

All of this is bogus: if there's a commit status, let's assume
we're watching the corresponding jenkins build. In case we miss it
due to some glitch, we'll catch it when we decide to randomly synch
(see earlier commit).