Refactored the conjuncts handling code in the optimizer to be simpler and avoid duplication. As a side effect, this also fixes CORE-4365: Equality predicate distribution does not work for some complex queries. Cleanup up some legacy checks that I consider unnecessary. 

git-svn-id: svn+ssh://svn.code.sf.net/p/firebird/code/firebird/trunk@59266 65644016-39b1-43b1-bf79-96bc8fe82c15
Fixed CORE-4366: Wrong result of WHERE predicate when it contains NULL IS NOT DISTINCT FROM (select min(NULL) from ...)

git-svn-id: svn+ssh://svn.code.sf.net/p/firebird/code/firebird/trunk@59268 65644016-39b1-43b1-bf79-96bc8fe82c15