Compiler: Support __INIT with C programs.
When a C program inherits Pike code, it may need to have an __INIT.
This would previously cause fatal errors as end_program() transited
to compiler pass #2 before the __INIT symbol had been added.
end_first_pass() now transits from pass #1 to pass #2 if finish
has been set, and ensures that __INIT (if needed) exists.