Instant plugins reload

Changes include:
* all plugin reload logic gathered in one `loadOrConfigPlugin` fn,
* each plugin can now perform specific tasks just after its load `onChangeCb`,
* code DRY'ed,
* debug logs now show ticker source.

Closes #38 
I could do sth like this:

```javascript
// log git stuff (optional)
function wrapper(fn, cb) {
  fn(function(value) {
    cb(null, value);
  });
}
try {
  var git = require('git-rev');

  async.parallel([
    async.apply(wrapper, git.branch),
    async.apply(wrapper, git.short)
  ],
  function(err, values) {
    bunyan.info('Git: #%s @%s', values[0], values[1]);
  });
} catch(_) {}
```

but I'm not sure if that's really helpful