(GEP-120) Variable names treated as literals

This commit ensures that the automatic conversion of interpolated
variable names is honored by the validation logic (e.g. ${var} becomes
${$var}). This means that the name is validated as a variable '$var'
rather than as literal 'var'. Failing to do this was the underlying
reason for the error reported in GEP-120 which was that names that
started whith an underscore gave strange errors when used in
interpolated strings.
Merge pull request #23 from puppetlabs/issue-120

(GEP-120) Variable names treated as literals