Switch QL to IO

(Missing Feature, Investigate , Priority: Critical, Test Status: No automated tests yet , Reported By Justin du Coeur, )
Summary: This is a simple statement with extraordinarily profound impact: basically rewriting most of the Querki stack.
Why do it? Because IO is massively more efficient than Future, and might well speed up QL processing by an order of magnitude. It's probably worth it.
It also takes us in the direction of redoing the QL stack in FP terms -- eventually turning it into proper streams, as it should be.
Can this be done step-by-step? Quite possibly, and if so, we should totally do that.