(#4549) Fix templates to be able to call all functions
Only a small subset of Puppet functions were available on the scope in
templates. This had people doing workarounds like:
inline_template("<%= Puppet::Parser::Functions.autoloader.loadall; scope.function_extlookup(['hello world']) %>")
Rather than need to know these workarounds and need to load all
templates, the scope object now uses method_missing to find the function
if avaialable.
Paired-with: Nick Lewis <nick@puppetlabs.com>