fix the Watcher and the speed slider somehow

A change in Jython 2.5 made the Watcher stop the program's execution
before even the first instruction of user code. I found the code
responsible:

    if not self.running:
        self.interpreter.jesThread.stop()  # stop myself

I wasn't sure exactly where self.running was being set, because the
flow through the different Pdb methods isn't fully documented, so I
deleted the if statement to see what happened. Suddenly, everything
started working perfectly: the watcher stepped through all the code,
with working variable tracing, and it even responded to changes in the
speed slider (which according to Mark hadn't worked since JES 2.0).

I have absolutely no idea what changed between Jython 2.2.1 and 2.5.3
that would make the Watcher's speed slider work again (or create the
bug I was trying to fix to begin with), it just kind of happened.

The only remaining fault in the watcher was that some extra lines from
the JES library were being added to the history. I noticed that the
interaction() method wasn't actually checking whether the code belonged
to the user program, so I moved the filename check from user_line()
into interaction(). This one, I have a better guess for why it works:
user_line() is only called on breakpoints, but interaction() gets
called on all lines after the first breakpoint gets hit.