Support regex and arbitrary "where" conditions

Improve query support:
- Add support to .all() query params for regular expression queries.

```javascript
MyModel.all({where: {term: /^asdf(\d+)/}}, console.log);
//SELECT * FROM my_models WHERE term ~ 'asdf(\d+)';
```

- Currently, an arbitrary query condition - i.e., not one of the currently support gt, lt, inq, etc. - is simply ignored. Instead, pass any unrecognized conditions on to the where clause so that if I want to use a database-specific expression I am not limited by the generic juggling db query syntax.

```javascript
MyModel.all({where: {term: {gt: 7}}}, console.log);
//SELECT * FROM my_models WHERE term > 7;

MyModel.all({where: {term: {'>': 7}}}, console.log);
//SELECT * FROM my_models WHERE term > 7;

MyModel.all({where: {term: {like: '%form%'}}}, console.log);
//SELECT * FROM my_models WHERE term like '%form%';
```