add new programs needed in processing some data.

mask: masks a data volume by an 8bit volume; data which are 0 in
the mask volume will become 0 in the output volume.  voxels which
are nonzero in the 8bit mask will retain their original values.

cast8: fix the container of a data volume.  essentially: casts a
data volume into unsigned 8bit.  will error out if the data don't
actually fit in 8bits.
Get rid of debug output, and print current min/max.

The debug was just for testing if chaining worked (it does).  And
it can be really valuable to know the intermediate progress: often
we can see that data goes outside the expected range before it
finishes processing the whole file.
verify file sizes make sense.