Checkpoint bridge implementation.

It buffers the output of a writer, making it available as a reader.
Rename bridge to pipe.
Cleaner implementation.
Rename `pipe` to `flow` to avoid confusion.

Since we now have a `pipe` object that creates a reader from a writer.
Remove toy pipe example.