Add atEndOfInput

I've written this function (and variants of it) a couple of times already. In fact all of `pipes-aeson`, `pipes-binary` and `pipes-attoparsec` include their own version of this function (see here for example https://github.com/k0001/pipes-attoparsec/blob/master/src/Pipes/Attoparsec.hs#L177)

At first I hesitated about whether it was a nice idea to include this function or not as it doesn't fit in the `Parser` type, but it is really useful to have it at hand, and it is compatible with the `Parser` type after all.

If you agree to include this, then I'll submit similar tools to `pipes-bytestring` and `pipes-text` (which ignore trailing empty `Text`/`ByteString`.