Extract service construction to a factory method

This will make it easier to build scripts which perform partial
actions for manual testing and feature demos.

Change-Id: I04662923b180e56e9890c252d790afc4a118c45c
Fix invalid assertion message

Change-Id: Id4bb31832f2dda4b94f99c810174be9849b8a887
Fix variable name

Change-Id: Iff0fc7ba2dfd01ed9c57dfef41c9b47497f7a32d
Add feedback onto the patchset on success too

Thus ensuring that we always tell the submitter the status of their
email unless something went really wrong (in which case, we can't
be sure that our connection to gerrit didn't cause the issue).

Change-Id: Ic24b487e858cc351311afe3b05e8f3ccb90a9aa5