general: Protect against bad median.

This arose due to recent observing in bad weather where all data
failed QA.
general: Complete the type and access for CALCMEDIAN argument.
heterodyne: Only find the emission map if it going to be used.

Yes this does add a dependency knowing what else will use the
approximate emission map, but it seems silly that it's being run when
its results will not be used.  When we come to iterate and use
the identified clumps to mask the input time series for non-linearity,
a further test will be needed.
 heterodyne: Restrict non-linearity filtering to rasters.

It's not appropriate for stare.  Jiggle maps are also likely to have
too few spectra.