Plugins

Docs is still missing.  Basic infrastructure is in place.

All kind of comments are more than welcome :)

- [x] basic infrastructure
- [x] adopt it for built in stuff
  - [x] www
  - [x] slaves
  - [x] change sources
  - [x] schedulers
  - [x] steps (seems the most "interesting")
  - [x] status receivers
  - [x] utilties
- [x] provide unit tests
- [x] update release notes
- [x] update documentation
  - [x] user documentation
  - [x] packager documentation
Can you write `in self.names` here, just so it's a little clearer that the `names` method above, which has the side-effect of populating `self._entries`, gets called?  I realize this *works*, but it's pretty well obfuscated as it stands.