(PUP-2129) Fix issues with false interpolation start (no-such-method)

This is a fix for the reported issue that 'slurpfunc' is an unknown
method. Thankfuly that problem masked a much worse problem in that any
false interolation start e.g. $%a was not correctly implemented, and
there were no tests that covered this.

The same issue also existed for interpolation in heredoc.
This commit fixes the interpolation problem, and adds tests.
Merge pull request #2518 from hlindberg/pup-2129_false-interpolation-start

(PUP-2129) Fix issues with false interpolation start (slurpfunc)