Use per-job pubsub channel.
A webapp for ArchiveBot integration testing.
Hiredis + latest redis-py, part 2.
When job settings change, publish a notification.
A more Pythonic way of raising exceptions-from-exceptions.
Wrap connect/disconnect in methods.
Introduce and wire in the settings listener.

This commit also moves abort_requested to the settings module, because
ce91de3039af33008a312c7b14823cd6fd95d1ac turns it into something that
acts more like a setting.
Make !yahoo increment settings age by one.

The old mechanism used separate calls to modify delay, pagereq delay,
and concurrency.  This incremented the settings age by three.  Under the
listen-for-settings-changes model, this means we also publish three
update messages.  However, a !yahoo is conceptually one settings change.