Merge pull request #42 from adriaanm/master

Cleanups, upgrade to latest akka 2.2 RC
closedPullrequests
Better toString for BuildCommit
slightly slower job discovery to avoid finding stale jobs
Job start logic ignores finished jobs for 2 minutes.

Since the build bot is designed to be stateless and restartable at any point,
it does not know whether a new build has been requested.

Thus, it has no way of knowing whether a build reported by jenkins is the result
of the build it requested, or some older build.

To avoid reporting on stale finished jobs, we ignore finished builds
for 2 minutes after starting a new job, hoping that the newly queued
or building job will show up by then.
less debug noise
Cleanup in logging
upgrade to Scala 2.10.2 and Akka 2.2.0

.. and to sbt-assembly 0.9.0
Set loglevel to INFO
missed s prefix for interpol
deal with NPE in mergeBranch
minor cleanups
Massive cleanup of job start watcher.

Its two tasks are now cleanly separated:
  1. report to the PR commenter and the jenkins service on newly discovered jobs
     we only report on building or queued jobs if either:
       - we're reacting to a PLS REBUILD (b.force),
       - we haven't been looking that long (retryCount > 6)
     else, if we're not running in forced mode, and have been looking for a while,
     assume the build we're looking for may have ended, and consider all builds with the expected parameters
  2. try to start a job and report back when we found it on Jenkins
     on our first timeout, we try to start the build if necessary (running in force or no building/queued jobs found)
     after 12 timeouts (4 minutes), declare failure and retry the whole procedure
     when we find a building/queued job, declare victory and stop
Job discovery distinguishes prehistoric from modern times

It would be great to mock some sets of BuildStatus's and diff them.
Nicer toString for Pull, use it.
Merge pull request #45 from adriaanm/quiet-period-jobstart

Quiet period jobstart
react immediately on PLS SYNCH without running job
Only stop commenter when no relevant results could follow

If we have no pending jobs, `overruleSuccess` returns no results,
and the commenter can stop.

Also improved logging a bit.
Urgh. Off by one negation.
Don't know when to kill PR commenter; keep it alive

The job start watcher may call at any time as a result
of a PLS SYNCH or a PLS REBUILD ALL, so we can't stop the commenter
when the PR's status seems definitive, as we may want to force-update
the other statuses regardless.

Thus, just keep it alive as long as its parent is.
TODO: figure out how all these actors relate and make sure
to stop them when no longer needed