add nested having support

`where` supports nested conditions via 

```js
.where(function(){
  this.orWhere(...);
  this.orWhere(...)
});
```

with this PR the same is possible for `having`

```js
.having(function(){
  this.orWhere(...);
  this.orWhere(...)
});
```

I've included 2 simple tests