v04: per-frame alignment shifts (--shifts), PCHIP F-corona interpolation, IO/OPSE keywords in image coordinates
Branch rebased on master (includes the Syn_Pol and merge_exposures changes). Adds --shifts : the per-frame alignment shift of the orbit (output of P3SC/alignment_pipeline) is added to CRVAL1/2 before rotate_center1, so each frame's single resampling puts the solved solar centre on the output centre; recorded as ALGNDX/ALGNDY/ALGNVER after CRPIX2. Frames without a usable row keep the per-orbit delta_crval correction; without --shifts the processor behaves exactly as before. Also: the Koutchmy F-corona table interpolated with PCHIP in log space instead of linearly (removes the rings at the table nodes seen in enhanced images; kind recorded in the PROD_ID comment), X_IO/Y_IO and OPSE_X/OPSE_Y transformed with the pixels so they describe the L3 image, LED keywords numbered 1..3 as the v04 L2 writes them, pycache untracked. Validated on orbit 0308 together with the L2 merge request of the same name.