work with newer versions of automake

when using a newer automake, the autoreconf step fails with warnings:
"linking libtool libraries using a non-POSIX archiver requires 'AM_PROG_AR' in 'configure.ac' "

This happens for instance on ubuntu 13.10. 
Doing just that, adding 'AM_PROG_AR' to configure.ac fixes the problem.
Add a recursive object merge strategy and bind it to *

This commit adds a jv_object_merge_recursive function, that performs
recursive object merging, and binds it to multiply when applied to
two objects.

Added docs and tests.

Closes #320
One more recursive merge test
Added `arrays` and other filters

Arrays, objects, numbers, strings, booleans, nulls, values (non-nulls)
-- these builtins filter out those inputs that don't match the name of
the builtin.

This fixes #322 and #324.
Document `arrays`, `objects`, ...
Also add `scalars`
Document `scalars`
Test `arrays` and friend filters
Merge pull request #278 from polyester/master

work with newer versions of automake
Fix for #303 in the sources
jv_show() should be able to display invalid values
jv_invalid() shouldn't allocate

jv_invalid() should behave like jv_invalid_with_msg(jv_null()), and
neither should allocate memory, because neither ought to need to.
exec_stack.h was not using jv_mem_realloc()
Add --args option
Document --args option
Add I/O framework, `read` builtin

Add jq_handle_{create, create_stdio, get, delete}().  These functions
provide an extensible notion of I/O handle for jq programs.

Initially the idea is to have just I/O via `read` and `write` builtins.
Eventually the idea is that plugins can add their own handle types.

There is a single handle namespace; all handle "names" are integers,
starting from zero, like POSIX file descriptors.

Without I/O handles jq programs have no way to interact with the world
outside except via the input (e.g., from stdin, fed to `jq_start()` by
`main()`) and output (produced by `jq_next()`, written to stdout by
`main()`).  Without I/O handles jq programs are pure, functional
filters.

With a handle for stdin jq programs could reduce multiple inputs without
having to resort to the `--slurp` command-line option.

With the ability to open multiple files for reading jq programs could
perform online merges.

With a memory handle object jq programs could keep state across multiple
inputs.
Document --allow-* options
Document `read`, `write`, `fopen`, `popen`, ...

Also: `eof` and `buffer`.
Add awk-like BEGIN/END
Document BEGIN/END