Gerrit fixes

These are a few different fixes involving gerrit support. A couple of notes on this:

A couple of these are different implementations for equivalent changes in existing pull requests (830, and 483). I'm not sure if there's a way I should be referencing those, or modifying them instead of submitting a new pull request. Or if a new pull request like this is the "proper" thing to do.

I'm not terribly familiar with python/twisted/buildbot, and it might show in that last commit. I'm not entirely sure if I'm using that mixin properly, or if there are better ways to do that. I am happy to change it if I'm not following the proper conventions or whatnot.