Querying on JSON

So the syntax is something like

```sql
select * from users where users.data->'field' = $1
-- Though, I think you might have to do casting...
select * from users where (users.data->'field')::int = $1
```

Maybe:

```javascript
{
  type: 'select'
, table: 'users'
, where: {
    'data.field': 123
  }
}
```

Though that will mess up the current column quoting mechanism as it expects the only thing that has a period is a ```"table"."column"``` setup. Not a ```"table"."column"->'field'``` setup. Hrmm..

[Edit]

While I've been striving for semanticness most of the time, this is one occasion where that will be slightly sidestepped. I didn't want field accessors to be a query helper because they're usually treated as values in conditions. They needed to be atomic. For that reason, this PR introduces the following new syntax:

```javascript
{
  type: 'select'
, table: 'users'
, where: {
    // Simple text accessor for JSON/HStore
    'data->name': 'Bob'
    
    // Access array
  , 'data->>5': 'Bob'
  
    // Casting fields
  , 'data::json->id': 7
  , 'my_column::some_other_type': 'Blah'
    
    // Deep access
  , 'data#>{3,records,4,id}': 27
  }
}
```