Improve handling of BadCallException in PMSD test cases.

If a test case line starts with "* " we now just look for what
follows as a substring in the actual test output.  This allows us
to match bad call exception messages in the interim while we don't
have a full message priority system worked out (and while the
PMSD output includes debugging information about the evaluation
path taken).

Also refactor to unify the line comparison among the various ways
of running tests, and emit pass/fail information when using
/runTest('...') from the PMSD shell.