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
- [ ] update documentation
  - [x] user documentation
  - [ ] packager documentation
"available" is an adjective, but it returns a list of things. Seeing "x in self.available" looks strange to me. Can we change the name of this property so that it's a noun?