(PUP-4133) Fix interpolation for variables with leading underscore
Prior to this commit, if string interpolation was done on a variable
that had a leading underscore in the name (i.e. ${bar::_foo}), puppet
would fail with an "illegal fully qualified name" error from
the lexer.
In order to ensure that such variable names can be interpolated
properly, update the lexer so that it will create WORD tokens for
variable names with leading underscores, rather than exiting with
an "illegal fully qualified name" error.