Add jq_handle concept
Add --args option
Add jq_runtime_flags enum type
Add fopen and popen builtins
Add `write`
Better handling of popen exit status
Add `buffer` builtin for keeping state

The `buffer` builtin is like `fopen` of a temporary file in that it
returns a handle that can be written to and read from.  The last value
written is always the value returned by read, and buffers always start
out with a null value.
Document --args option
Document --allow-* options
Document `read`, `write`, `fopen`, and `popen`
Document the `buffer` builtin
Change `buffer` to be a one-shot

For efficiency, it helps if reading a buffer empties it.  That way
the jv returned by `read` will have one fewer references, easily just
one, which then avoids the whole COW thing.
Document change to make `buffer` a one-shot
Docs change for fopen/popen simplification