heterodyne: Offer a choice of methods to flat field.

The addition is for the simple summation of the signal between
velocity limits, expected to defined the line emission. It adds three
new arguments for the chosen method and velocity limits, which are
also recipe parameters.  Although the sum method does not require
iteration, I added it here because this primitive combines all the
subscans to improve the accuracy of relative fluxes by receptor and
makes maps for each receptor individually (both unlike
_REMOVE_FLAT_FIELD_).  It could be divided into two primitives if
that's deemed clearer.
heterodyne: Declare the time-axis bounds for each subscan in the right context.

The bounds were being lost after the first receptor.
heterodyne: Fix variable context error.

I fixed these ages ago, but clearly not committed and were lost during
further development and testing, presumably starting from another
exploratory version.
heterodyne: Defensive programming against an unlikely divide-by-zero.
heterodyne: Add two comment headings to aid understanding of the code structure.
heterodyne: Tidying trailing spaces.