Add a drainTo function, dual to gatherFrom

I found myself needing this today, which only makes sense as a companion to `gatherFrom`.