DRY on buffer functions
Add test + doc noting the append == ctor for empty buffers
Put a buffer in between the algo output and actual fd writing
Provide a placeholder member for an FD for output only.

This *may* come in handy if we want to something with
unidirectional pipes.