(PUP-2190) Fix issue when there are no defaults (for meta params)

When looking up a metaparameter - Notify['foo'][tag], this failed
when no tags had been set. The same problem would occur for any
parameter that the resource api reported to be a vaid parameter but
for which asking for its default did not return a Parameter.
Merge pull request #2534 from hlindberg/pup-2190_lookup-meta-parameter

(PUP-2190) Fix issue when there are no defaults (for meta params)
(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.
Merge pull request #2562 from zaphod42/issue/master-pup-2080-function-is-a-qname

(PUP-2080) Reinstate function as a QNAME
Merge branch 'master' of https://github.com/puppetlabs/puppet