Made function literal names, anonymous class names

and critical section names independent of the order
in which modules are compiled and templates
are instantiated. Also removed isAutoGeneratedField
from Identifier and made availableExternally symbols
always have available_externally linkage.