Fix the inefficient evaluation of translated predicates
Translated predicates that don't evaluate to a boolean value have
been needlessly doing extra and repeated work.
For example, a > comparison would translate to a MGRP call followed
by IS-BOOLE-CHECK or MAYBE-BOOLE-CHECK. If the comparison didn't
yield a boolean, then a MGRP expression would be returned by MGRP,
which would get passed to a FOO-BOOLE-CHECK, which would then call
MEVALP_TR to evaluate the expression, which eventually just calls
MGRP yet again.
An upcoming commit will be making changes to translated predicates,
and after that this bug would cause a much more significant slow down
in various cases.
No problems with the test suite, share test suite or rtest_translator.