add plugin infrastructure for Buildbot

* add IPlugin interface that should be a base for all interfaces that can be
  delivered as a plugin
* add `buildbot.plugins.db` to load and check plugins
* add basic unit tests
adopt plugin system for www service
provide bundled change sources as plugins

* this should help to "unify" the way changes sources are defined
provide bundled schedulers as plugins
provide bundled build slaves as plugins
be explicit about wildcard import

* this allows to inject them into configuration file and access necessary bits
  in a bit shorter way
provide bundled steps as plugins
provide bundled status receivers as plugins
introduce 'util' category of plugins

* this will help to make master.cfg files that only use core functinality to
  look much simpler
update sample for master.cfg to use plugins
make formatting related changes to the affected documents

* this will help the rebase should they have changed in the base branch
* do some whitespace cleanup (trailing whitespaces, empty lines)
* move change hooks to the end of customization.rst (relies on
  non-existent feature, hence it's not clear how to use it)
* a bit of extra formatting (not part of this change, but anyway)
update user documentation
update release notes