Add query() function

We can use --match_columns and --query feature in --filter. Both of
the following commands return the same result:

--query version:

    select Users \
      --output_columns name,_score \
      --match_columns "name * 10" \
      --query alice

--filter version:

    select Users \
      --output_columns name,_score \
      --filter 'query("name * 10", "alice")'

With query() function, we can specify multiple query()s in a select
command.

TODO:
  * Support query_expansion
  * Support query_flags
  * Document it
Merge pull request #48 from groonga/add-query-function

Add query() function