extract watcher data logic to watcher-data.js

I'm guessing it's going to be tricky getting a major PR like this in through complex corporate policies and perhaps you're not interested anyway so I'll understand if this can't land!

Basically wanted to get at the watcher data decoding logic because I don't use express. It's now in watcher.js so could be used via `require('mod_statuspage/lib/watcher')`.

I've also switched to using proper streaming data collection via *bl* and it's also used to stream data to the module for testing rather than using the older streams1 "data" interface.