Removes private flag, adds extern flag.

Given the current state of AOT, there's not really a reason to have the
private flag remove the "global" directive for a symbol.  Even if AOT
were different, private would make a symbol private to a compilation
unit, which isn't necessarily what we want or expect.

Now, everything symbol is a global symbol.  The difference extern makes
is it turns off munging and enforces a format for symbols that are
accessible to the external world.