(#20516) Add support for Embedded Puppet Templates (EPP).

This adds support for Embedded Puppet Templates (EPP) as
described in ARM-3 Puppet Templates. (Basically a variant of ERB
using Puppet DSL as the language in expressions).