first cut of custom gerrit labels

**Note**: current state is not for merging!  It's for collecting feedback (@alagoutte, I'd appreciate your input) and all kind of extra input (test results, coding style suggestions, etc)

**Important**: the branch is going to be rebased/amended, so please do not even consider any changes based on it.

(Sorry, it took a bit longer than I anticipated: a few non-related changes crawled in and I had to "rebase" them out)

Done:
* changed the output for callbacks
* changed unit test cases to validate "legacy" callbacks (test cases for the new way are to be implemented)

TODO:
* documentation updates (any suggestions what needs to be put there are more than welcome)
* unit test cases for the new callback format
* anything else??

Questions:
* what about 0.8.x series, should it be backported?  (or should it be submitted for that series first??)
I think so, yes.  It will be a bit hard for users to spot when their labels disappear, but better than nothing.