anchor.diff:      test("Can implicit join through join table", () async {
         // 'Teams that have played at Minnesota'
         var q = new Query<Team>()
  -        ..sortDescriptors = [
  -          new QuerySortDescriptor("id", QuerySortOrder.ascending)
  -        ]
  +        ..sortBy((t) => t.id, QuerySortOrder.ascending)
           ..where.awayGames.haveAtLeastOneWhere.homeTeam.name =
               whereContains("Minn");
         var results = await q.fetch();
  
positive.code: 
      test("Can join from join table", () async {
        var q = new Query<RootJoinObject>()
          ..sortDescriptors = [
            new QuerySortDescriptor("id", QuerySortOrder.ascending)
          ]
          ..joinOn((r) => r.other)
          ..joinOn((r) => r.root);
  
  
negative.code:       var q = new Query<Game>()
          ..joinOn((g) => g.awayTeam)
          ..joinOn((g) => g.homeTeam)
          ..sortBy((g) => g.id, QuerySortOrder.ascending);
        var results = await q.fetch();
  
        expect(
  