Fix compiler optimization bug when removing redundant calls to `true/0`

When we have a `(Goal, true)` conjunction, we must ensure that we don't have an if-then-else control construct in disguise. Thanks to David S. Warren for an enlightening discussion regarding this issue in XSB that helped uncover this bug also in Logtalk.