(PUP-2080) Reinstate function as a QNAME

The 'function' word was accidentally made a literal value when the function
in the puppet language changes were removed. It should have been a QNAME,
since that is what bare words are. This allows it to once again be used as
the name of a class, for instance.