Added fix to the "run" problem.

The fix is that the "run" command, unlike all the others,
requires a fixed known name at runtime.

So you can do this:
   run ascend.ks(arg1,arg2,arg3).
and this:
   run ascend.ksm(arg1,arg2,arg3).
and this:
   run ascend(arg1,arg2,arg3). // defaults to .ksm, then tries .ks.

But you can't do this:
   run "ascend"(arg1,arg2,arg3).
or do this:
   set var to "ascend".
   run var(arg1,arg2,arg3).

As part of this, I made it allow filenames as bare words with extensions,
like so:

   copy file1.ks to file1.txt.

You can put a dot in a bareword filename provided it has at least one
character after the dot. what you can't do is work with a file called
"file." .  That's because when you say "edit file1." it has to take
the dot as an end-of-statement marker, not part of the filename.