Add jv_dumpf() and jv_show()

jv_dumpf() takes a FILE *.

jv_show() is intended for use in debuggers, so it dumps the jv to stderr
and it does not jv_free() the jv, so it's safe to
"call jv_show(some_jv, -1)" in a debugger.  If flags == -1 then the jv
will be shown pretty-printed and in color.
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 jq_handle concept
Add --args option
Add jq_runtime_flags enum type
Add _fopen and _popen builtins
Better handling of popen in f_read
Document --args option
Document --allow-* options