cleanup redundancy and duplication around UPLC/program generation
The code is sufficiently complexe already, and the addition of the source map context makes it a bit more. That's okay. But duplicating entire chunks of logic with no changes when we have generics, is not! There's a similar cleanup to be done around the 'coverage' command, which is, in most part, a duplicate of the `check` command. Note that this changes also drop the 'finalize_minimal' and make the `no_optimize` flag now unused. It is not a mistake. That flag should not exist and shall be removed in upcoming commits. Signed-off-by: KtorZ <[email protected]>