Extract dialect callbacks into a callbacks factory module

This makes it much easier to see how each dispatcher request is handled. Each callback is returned by a factory method that takes the response stream as its parameter; they all have the argument list (datum, err, meta). err and meta are optional in many cases.

I'm fairly confident in the code passing all tests, but please perform due diligence before merging. My local environment is still being fully set up, and OpportunityDragon tests against the local host/store failed, though I think that has more to do with redis than these code changes.