(PUP-2727) Make new keywords acceptable as attribute names.

Puppet allows keywords as attribute names in defines and
parameterized classes. This was missing for the added keywords:
* FUNCTION
* ATTR
* PRIVATE
* TYPE

Which caused a clash with existing types.

This commit adds the new keywords to the list of accepted words
in the grammar.