Support for writing gdiff format.
InputFormat class, and implement it for GdiffFormat
New interface Input and implementation ByteBufferInput that allow random access to the data.  Use Input in Applyable.apply