Reduce

added @parshap's simple stream-reduce which uses through.

@dominictarr - saw your comments in index.js re: implementation options for reduce.

    // reduce is more tricky
    // maybe we want to group the reductions or emit progress updates occasionally
    // the most basic reduce just emits one 'data' event after it has recieved 'end'

still room for more features down the road such as emitting progress updates (as mentioned) or an async reduce fn. very possible there are things i'm missing, oversimplifying, ignoring, etc as to why reduce hasn't been added already. if so, thanks for your patience.