kdtree: Simplify enrichment.

About 2% faster overall.
kdtree: Dump old matching code.

Was ~3x slower for with ~2% lower accuracy.
kdtree: Remove all testing code, add public header.
prop: Put kd-tree propagation code in its own file.
kdtest: Move all kd-tree testing into its own file.

Less messy that way; it is clearer what the important bits are
for kd-tree and propagation.
select: Make quick_select2 the default.

Remove old quick_select since it is unused.
prop: Simplify enrichment function.
prop: Expose enrichment function.
kdtest: Add block-based enrichment.
kdtree: Fix another bad tree-building condition.

With enough images, it is quite possible to hit a pathological
condition where
a) your tuples all vary
b) the selected median for all axes is the same until the end.

Most likely the code is fundamentally broken somewhere, but too
lazy to fix it properly.
fixup with 76221d792bf8016bd398fbcee17835fe1a76dffc
patch: Check results against ground truth.
gt: Test kd-tree against ground truth.
gt: Add driver for ground truth testing.

Tests propagated kd-tree, PatchMatch.

Also add a utility used for making the GT images.
Requires libav-ocaml (https://github.com/j0sh/libav-ocaml)
as of revision 480c3c5f.