sparse_disp.in: double the dilate radius

We were dilating the quality mask by coarse_skip/2.  This leaves gaps, which should go away if we double the kernel width.
sparse_disp: add debugging options, catch bad-match errors

-Can now specify -D to get an output csv of disparity points, a second csv of points that have failed with an indication of why they failed, plus chit-chat from the script as it runs

-Errors where norm_xcorr returned 'None' were getting passed through as zero-disparity points.  These should have been deleted.
sparse_disp: change success criteria

1. increase teh default epipolar tolerance
2. allow the minimum maximum-disparity value  to be specified
sparse_disp: remove testing and SSD code for the norm_xcorr code
sparse_disp: change epipolar test

epipolar test now compares ep_dist to the maximum of ep_tol and 0.02*abs(disp-median_disp).  This lets us use a smaller default ep_tol and seems to give cleaner results
sparse_disp: allow a low-res mask file to prevent matching for some pixels

Can now specify a lowres mask file .  Nonzero entries mean that sparse_disp will try to mask a given pixel, zero means skip.  Geotransforms are handled so that the mask can be of arbitrary resolution
sparse_disp: move gridding to its own routine, allow an optional argument to specify the dilation distance for the valid mask

Gridding the output disparities was pretty ad hoc.  Now there's a formal process to ensure that disparities and spreads don't get interpolated too far, and to check the distance between the grid points and the data points.  An optional argument can specify the dilation of the mask around the valid data points.
sparse_disp : add block write code

Grid the disparities 1024 output pixels at a time.  This helps fix the huge memory allocation for sparse_disp in its last stages, and avoids some hangups that can happen when griddata has to search an enormous triangulation for the grid points.
The blockwise gridding respects the hole-filling radius established in d621f1afb12bc8725fd9f8bb837d5421a819019d
sparse_disp: check if bad_pts is empty

Check if the bad_pts array is empty before trying to work with it.
sparse_disp: fix typo

Reverse the sense of the test to see if the bad_pts matrix is empty
sparse_disp: fixed assumptions about geotransform

I had assumed a negative delta-y component of the geotransform.  For unmapped sparse_disp work, this is not true-- this commit captures the general case.
sparse_disp: extra debugging info, split gridding test

Add a bit more debugging info, perform separate tests for adequate number of points and for whether the points are all in the same row/column
sparse_disp: reduce memory use

Change the level in the parallel code where the sub-image pixel centers get cropped.  Now less of the left image gets read by each worker process, and the memory usage goes down from (potentially) tens of GB to hundreds of MB.