updates to work with streams2

much of your logic is now longer needed as streams2 takes care of much of the buffering, it is also able to be assumed that it will only be called with buffers, the one place where there is a reduction in functionality is that streams throws an error if you try to pass an object to a non object mode buffer.