Rewrite getStatusReport.js using mapReduce

The old version did not report the actual status. It reported the
test_exitcode and deploy_exitcode for one specific repo/branch, for
every configured repo.

That is, for every project, it found the first branch in `Job.find({})` that
matched the configured branches for that project. This becomes a problem
if there exists two repos with the same branch name, e.g. two different
repos with the `master` branch configured for test. In those cases, it
would use the first job it found with that branch, for *both* of the
configured repos, thereby responding with erroneous output.

I rewrote the getStatusReport.js module using a mapReduce, that outputs
the correct values for this, and also adds `job.plugin_data`, since
`test_exitcode` sometimes is not enough (e.g. `npm test` will always
return `code 0`, even for failing tests, whilst `mocha` will not).