core: Import bup's "rollsum" code, add a test case

For static deltas, one strategy that will be employed is to split each
object into chunks, and only include changed chunks in the deltas.
Initial basic static delta code drop

This has a very basic level of functionality (deltas can be generated,
and applied offline).  There is only some stubbed out pull code to
fetch them via HTTP.

But, better to commit this now and improve it from a known starting
point, rather than have it languish in a branch.