Make sure to only feed empty ByteStrings when terminated

Thanks to feedback by Gabriel Gonzalez:

  https://groups.google.com/d/msg/haskell-pipes/PAVEPTRMkRM/d-rjyZZ5yD8J
Update examples to reflect new api