Remove code duplication in ProcessNonAggregatingGroupBy
Optimize code in ProcessNonAggregatingGroupBy
Resolve Key and Element selectors with standard re-linq's ReverseResolvingExpressionTreeVisitor in ProcessNonAggregatingGroupBy
Merge branch '3.3.x'
Add ability to project nested enumerable with self element projections (NH-2986)

Sample query:

    var timesheets = db.Timesheets
	.Select(o =>
            new
                {
                    o.Id,
                    Users = o.Users.Select(x => x)
                })
    .ToList();