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.