Don't rely on assert() to bail on assertion failure

The behavior of assert() is variable, depending on the value of the
assert.active / assert.warning / assert.bail / assert.quiet_eval runtime
options. To make the behavior of ClaimListDiffer::getDiffOp consistent and
indempotent, eschew assert() in favor of an explicit check.

Bugzilla bug: https://bugzilla.wikimedia.org/show_bug.cgi?id=65698