Use outer joins for filters and searcher
Added support for Reference/PolymorphicReference/ReferenceCollection/PolymorphicReferenceCollection plus several bugfixes