Add support for regex queries

This allows you to use arbitary regular expressions in queries.

Usage
```js
model.filter('users').where('name').regexp(/[a-z']+\s+[a-z']+/i)
```

or

```js
model.filter('users').where({ name: { regexp: /[a-z']+\s+[a-z']+/i } })
```
or

```js
model.filter('users').where({ name: /[a-z']+\s+[a-z']+/i })
```

You can also pass a string literal or model reference (except, obviously, for the last syntax, which would become `equals`), and it will be parsed as a regex with no flags.

When passing regex objects / literals, the `i` and `m` (multiline) flags are supported.