Emit function descriptor only with package's definition; mangle it similarly

This also changes the mangling scheme to more closely match libgo conventions.
Give functions and descriptors a suitable linkage
Emit descriptors for all named package types
Emit type descriptor definitions before pending undefined functions
Make function descriptors constant globals
Understand the gccgo //extern extension
Merge pull request #147 from pcc/libgo-desc

Misc ABI/linkage changes required to build a libgo.so