heterodyne: Do not look in jcmtstate if we do not have jcmtstate method

Which is the case for PICARD.
heterodyne: Only calculate AST region if we are starting with raw data

With picard we won't want to mask the frames as we have no idea
whether they have been masked already and whether it's a clever
thing to do.

The current test may be a bit non-optimal though (checking for
existence of jcmtstate method) so may need more thought.
Check for existence of region before calling masking primitive

Rather than reimplement the logic changed in 7dd9f1751837cdd87445a8bdca3a2d0cae54017d
we check that we have a region before using it.