(maint) Provide option to 4x->3x convert to handle :undef differently

Functions requires :undef conversion to '', while other parts
require :undef (verbatim). This changes the signature of the convert
method to accept the value to use when :undef is encountered.
Merge pull request #2179 from hlindberg/maint_convert-to3x-acceptance-test-fix

(maint) Provide option to 4x->3x convert to handle :undef differently
Merge branch 'master' of https://github.com/puppetlabs/puppet