(PUP-2080) Remove puppet language function loading

The functions in the puppet language are a great idea, but one that we
are not yet ready to implement, document, test, and debate at this time.
(PUP-2080) Remove function in the puppet language

This is a desired feature, but a distraction from our current goals. The
'function' keyword needs to be reserved as part of PUP-1027 and so I've
left it in as a portion of the grammar.
Merge pull request #2552 from zaphod42/revert/master/pup-2080-remove-puppet-functions

(PUP-2080) Remove function in the puppet language