Fix bug, between expression removes other expressions

```$builder->table('member')->select('*')->where()->equal('foo', 1)->between('id', 10, 20)->build();```
gets:
```SELECT * FROM  member WHERE id BETWEEN 10 AND 20```

expected result is:
```SELECT * FROM  member WHERE foo = 1 AND id BETWEEN 10 AND 20```