combine the expressions with and_expr in filter.grouped_df

Just combining the expressions with `and_expr` instead of sequentially evaulate them. This fixes this issue: 

```
> data <- data.frame( a = rep( 1:2, each = 4), b = rep( 1:4, each = 2 ), x = rep(1:2, 4) )
> filter( group_by( data, a, b ), x == max(x), b > 2 )
Source: local data frame [4 x 3]
Groups: a, b

  a b x
5 2 3 1    # should not be there
6 2 3 2
7 2 4 1    # should not be there
8 2 4 2
```