Transducer support

Thiese commits fix up the support for transducers to actually work for all transducers.

It adds an overflow buffer to try to minimise the extent to which the primary buffer has to be resized to accomodate extra values from "expanding" transducers. I think it ends up being a bit nicer than the core.async implementation for some "pathological" inputs.