smurf: Undo COM as a separate step at the start of each iteration

Previously, COM was undone immediately prior to calculating the new COM.
Since COM is first in the default MODELORDER, this change should have no
effect normally. This change brings COM into line with the other models,
and removes the unpredictable effects of moving COM in the MODELORDER.
smurf: extra diagnostics
smurf: Allow LUT model to be exported and imported

For the benefit of skyloop.
smurf: Use pre-calculated STEPTIME when using pre-cleaned data

For the benfit of SKYLOOP, which caches and re-uses the data cleaned by
the first invocation of makemap. A new FITS header "PRECLNED" is now
added to the output data to indicate it has been pre-cleaned.
smurf: Correct handling of map quality when importing an initial sky map
smurf: Clear RING and COM flags when importing an initial sky map

This is usually done when undoing the COM model. But the COM model is not
undone at the start of the first iteration, so when running skyloop
(which only performs one iteration on each invocation of makemap) we need
to clear the flags when importing the sky map instead.
smurf: Fix bug in string quoting
smurf: Fix bug in use of cached NOI model

Previously, SKYLOOP was giving equal weighting to all bolometers, on all
iterations.
smurf: Update quality flags after each iteration in SKYLOOP

Previously, all flags set during a specific iteration were ignored on
later iterations.
smurf: Cache the LUT model in SKYLOOP

This ensures that the same LUT is used on each iteration. It may also
speed up the script at the expense of using more disk space.
smurf: Anull error setting new STEPTIME if the data is not pre-cleaned

If the data was not pre-cleaned an error was being generated when accessing
"PRECLNED" header.