Added String.range.
Revert "Runtime: Improve diagnostics from the variant dispatcher."

This reverts commit a0b635a537e32c03c6e95afd7e42dd8021efc406.

Now Process.popen(string) works again.
Typechecker: Fix indexing of this_program.

Program types are often converted to the corresponding function
type. Make sure to allow indexing of such types if they look
like program types.

Thanks to Chris Angelico <rosuav@gmail.com> for the report.

Fixes [LysLysKOM 20764345]/[Pike mailinglist 13967].
Reinstate "Runtime: Improve diagnostics from the variant dispatcher."

Process.popen(string) should now work with it enabled.

This reverts commit 50348d848ec84753a198290cf5be9425a5b69f8e, and
reinstates commit a0b635a537e32c03c6e95afd7e42dd8021efc406 + patch.