plugin config propagation architecture

- tests. because UNNNNNGH
- refactors here and there so that...
  1. route payload handling isn't dumb anymore
  2. all adapters receive config change request payloads & simply delegate them to attached plugins
  3. plugins receive said payloads, update their own configs, return metadata on what plugin changed & the entire new plugin
  4. adapter then publishes all config changes into a `config.update` channel

mfw reading my own JS.

![selfie-1](http://i.imgur.com/JPfqSgb.gif)

need test. right :cat: