Avoid warning on newer SWI versions

This particular test has `X == X` which is always true.  The style
checker notices that it always succeeds and warns us that we might be
doing something wrong.
Continue running tests after unexpected failure

Under the old code, if a test predicate was expected to succeed but
failed, tap_call/3 also failed.  That prevented all subsequent tests
from running and caused our main/0 predicate to fail.  Fortunately, TAP
harness noticed the main's exit code and noticed that we didn't run as
many tests as we planned, so it reported the problem as a failure.
However, TAP's failure message couldn't be specific enough to pinpoint
exactly what caused the failure.

tap_call/3 is now immune to these kinds of failures.  It continues
running subsequent tests and generating TAP output.  The user can now
clearly see which tests failed and why.

I'm pretty sure this is a regression since introducing call_ending/2.  I
really don't want to see a regression here again.  Because this behavior
only occurs when tests fail, I had to create a test which failed.
Unfortunately, in this case, failure means success.  I've named the test
always_fails as a hint to myself that all tests in that file are
supposed to fail.  If any succeed, something went wrong.  These kinds of
manually inspected tests are harder to monitor than the normal kind, but
I don't see a better way forward.