Changed First to be a terminating operation that returns the type being queried, rather than returning another enumerator. Feedback from users is that they are expecting First to return the first item, not another query. Makes sense, more like Head in Scala et. al. Take(1) is still there for cases where the old behaviour of First is required.
Bare minimum implementation of GenericObjectQuery
Removed MapWhere from all Queries. Didn't do this lightly. Reason for the removal is that the order of calling .Map and .Where matters in your query. .MapWhere reduced the clarity of what order they were evaluated, without adding any real functionality. One major point of FluentQuery is to make code that  selects items from collections much clearer and easier to read, and MapWhere undid some of that. Replacing with .Map.Where or .Where.Map is very explicit about the order they will be executed.
Implemented remaining operations in common with GenericQuery
Found and fixed one instance of WhereNot that was still  not delegated to Where.
ObjectQuery now supports an IsA operation which tests if an object is a particular type (or derived from a particular type)
ObjectQuery now has a  HasProperty operator which tests for a property of a particular name and type.