Services

This is an attempt to make custom AsyncMultiService usable inside an advanced master.cfg or a buildbot plugin.

You can start review by looking at the doc in the end of the patch. I hope this explains the idea.

Maybe we should use `Interface` instead?