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.
__builtin.Nettle: Added __Hash and MAC.

This moves the base hash API to __Hash, and adds a common
API for Message Authentication Codes (MACs) analogous to
the APIs for hashes and ciphers.
Compiler: __INIT() has side effects...

Make sure that __INIT gets marked as having side effects,
or calls to it may get optimized away...

Also renames an internal variable.