Tests and Fix for NH3641

https://nhibernate.jira.com/browse/NH-3641
true is a stand in for any clause that evaluates to true. If the first clause evaluates to false then you would not expect the record to return, so the state of the second clause is irrelevant. You could replace "true" with x.Flag, or even x.Child != null, or anything else. If the first clause evaluates to true then the record should be returned whether x has a child or not.