WIP: Add election framework to master; publish services.

Needs tests still.
This set of code feels more like a separate object than part of master - the coupling between master and the calls to create/remove these services doesn't seem required.

Do you envision these being part of component plugin registration?  If so why not make this a mini controller object to start with that master launches?