Ongoing work on the delta combiner (issue #531).
Ongoing work on the delta combiner (issue #531).

* compose_delta.c:

(range_index_node_t, range_list_node_t): Move around and document the structs.
(alloc_block_t, alloc_block, free_block): New. Infrastructure for small-block
allocation from pools.
(range_index_t, alloc_range_index_node, free_range_index_node): Reimplement
in terms of alloc_block_t and friends.

(splay_range_index): Accept a range_index_t* instead of a range_index_node_t.
Add sanity checks.

(delete_subtree): Relegate dl-list handling to free_range_index_node.

(insert_range): Don't splay the range index, require it pre-splayed.
Maintain the dl-list of ranges, and use it for predicate calculation.

(alloc_range_list_node, free_range_list): New.
(build_range_list): New, incomplete.
(copy_source_ops): New, stub only.

(svn_txdelta_compose_windows): Flesh out the combiner algorithm.

Also various doc changes.

jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion