Fix simple string interpolation not ending at the right position.
Fix simple string interpolation not ending at the right position.

The string interpolator didn't correctly set the next location after
parsing a simple, unbracketed interpolation (e.g. $foo).

The implementation would walk "forward" from after the $ to the next
whitespace character.  This was incorrect if no whitespace existed
between the end of the variable and the next token.  Additionally, it
ended up eating the first whitespace character and that would not be
output in the resulting string.

The fix is to simply update the current position to where lexing
stopped.  If using a bracketed expression (e.g. ${foo}), then this
updates to the closing '}'.  If not bracketed, it's simply where the end
of the token that was lexed.

peterhuene/puppetcpp,iankronquist/puppetcpp