(PUP-4462) Fix problem with heredoc interpolation turning on escapes
Before this, heredoc with interpolation would also turn on escapes. This
means input like \$name would not interpolate, and \\ would be required
to get a single \. It should be required to be explici about allowing
escapes by using /$ (to be allowed to escape interpolation).
The prolem was caused by the pattern used to find the start of an
interpolation. This pattern included the escapes that would make the
pattern skip the interpolation start - it would simply scan past the
interpolation start if escaped.
The solution was to create a new pattern for finding interpolation
starts when a $ is not one of the wanted escapes.