New library, based on libsync but mostly rewritten:

 * Differences and signatures are squished into a single
   binary-encoded stream using variable-length commands

 * We don't require session objects anymore; they just complicate
   life.  The code is generally simpler.

 * We only do this encoding format.  This is only conceptually related
   to rsync now; they don't understand each other.
Ignore generated files.
Add dogtags to membufs and filebufs so that we can identify their
horribly-mutilated bodies.
Empty file.
Clean up encoding implementation.
Add space in the protocol for 64-bit offsets.
Fix a memory leak in encoding.
Add ptrbuf to do abstract IO to a fixed buffer.
When encoding, the new signature block size can be different from the
old block size.
Encode copy commands using the optimal command byte rather than always
using COPY_INT_INT.
Add test-chained to make sure we can swallow our own output.
Add parameter to hsencode to specify the new block size.
Various cleanups.
Make sure test drivers and data get into the distribution.
Don't keep temporary output in CVS.
Trace should be off by default.
Ignore GPG signatures.
Should be called 0.3.0.
Export md4 because we want to use it in caching -- I guess we may as
well let people get at the code since it's here.
Configure-time option to turn on trace.
Pointer buffers can be zero-length.
Better error messages for IO.
Better error macros.
Better error messages for IO.
If we fail while reading the signature from the client then do not
give up but rather generate a from-scratch encoding so that the client
will have a good signature for next time.
Better error messages for IO.
Cope with encoding COPY with offset less than 256.
Cope with encoding COPY with offset less than 256.
Support cache streams attached to hs_filebuf_t