Remove a superfluous pair of []s in cond collapser
Switch to a sane deduplication system

The original naive approach from 8e40a627f was utterly braindead and prone
to false positives. Fix this for good
Deduplicate (and stabilize) the result of _collapse_cond

Among other things set the stage to a fix of RT#98161 (later commit)
Make sure cond collapser works case insensitively
Make sure empty cond collapser works on all positions

Adds another round of sql stabilization (akin to 5268b1da6)
Fix condition collapser corrupting -X operators

This is (fingercross) the complete fix for RT#98161
Better optional diag in t/sqlmaker/dbihacks_internals.t
One more fail-case missed in 135ac69dd

Now the test attached to RT#98161 actually passes... le sigh

At this point I am very wary of the entire codepath: yes, it is clearly the
right thing to do, and the logic is sound, but odd edge cases keep popping
up like this... OTOH there is no way to properly do equality inferrence
without this entire dance, in other words: rock&hardplace. Hopefully the
test suites will shake this out, apologoies to all affected :(
Add one more spot of unroll
Better describe the _resolve_relationship_condition API
Changelog for RT#98161

Breakage introduced in 8d005ad9, fixed for good by a combination of 5268b1da
135ac69d and 95da0f23
(travis) Sorry metacpan, your mirror is simply shit >:(
Make sure the resolve_cond shim attempts to lint the right thing

This only matters in compat mode, so sod testing
Make sure IO::Handle is loaded - missing stubs on older perls

Also adjust the documentation in the wake of the e9f71ab2a change
Move and simplify a chunk of parser code

No functional changes
Skip malformed relationships in SQLT parser instead of vague warnings
Minor relcond resolver refactor, no func. changes
Simplify self_result_object argument check in cond resolver
No longer use rel_info($rel)->{class} in the cond resolver

It turns out there are a lot of codebases there containing garbage in the
rel definition. Punt for after 0.082800 to lean up that mess.

Also be less strict on checking the foreign_values contents - downgrade
mismatches to a warning (but still hard-require ::Row ancestry)
Fix for gut-reaching travesty as reported by gbjk