Refactor "rhizome list" command

Move output formatting into commandline.c, leave database query in
rhizome_database.c
Remove unused elements from struct rhizome_http_request

Also improve comments
Make Content-Length optional in HTTP responses

To eventually support the /restful/rhizome/bundlelist.json query which
will not compute in advance the length of its response.
Improve Rhizome list cursor

Remove 'rowcount' element

Order by descending ROWID, which is functionally the same as descending
inserttime but more reliable

Replace '_offset' cursor element with rowid first-last range to record
the expanding window of rows already returned, which allows release and
re-open of cursor mid-listing without missing rows or producing duplicates
Improve HTTP server generated content logic

Support generated content with an unspecified Content-Length.  Generator
functions return 1 if there is more content to come, and 0 if they have
just produced the last piece of content.
Add strbuf JSON helper functions
Implement HTTP /restful/rhizome/bundlelist.json

Only tested for one bundle.
Do not catch SIGQUIT

So that it can be used to make a core dump during manual debugging
Improve Rhizome list cursor

Separate function rhizome_list_commit() which, if not called, causes the
next list re-query to include the last row that was fetched with
rhizome_list_next(), rather than excluding it.
Improve HTTP server generated content logic

Content generator functions now take arguments describing the buffer
they are to fill, and respond with a struct containing the number of
bytes filled, and the number of free bytes needed before being called
again.

The HTTP response logic now fills the buffer as much as possible before
calling write(2) by topping it up instead of waiting for it to be
completely emptied before generating more content.
Add "date" output field to Rhizome commands

To wit: "add file" and "import bundle"
Improve test defs: extract_stdout_keyvalue_optional()

Logs its variable assignment
Fix HTTP /restful/rhizome/bundlelist.json

Write test case assertions using jq(1) utility, increase from four
bundles to 100.

Fix bugs in HTTP server content generation logic.

Make payload content generator read payload 4KiB at a time, to
always read on filesystem block boundaries for performance.  Increase
size of payload in relevant test case.
Add ROWID field to struct rhizome_manifest

New ".rowid" output field from rhizome add, import, extract, export
operations.  (Also added missing ".inserttime" and "date" fields to
some operations.)

Use new "rhizome add file" .rowid output field to check output of of
/restful/rhizome/bundlelist.json
Clean up inclusion of <netinet/in.h>

Make all #include <netinet/in.h> conditional upon HAVE_NETINET_IN_H

Remove unnecessary #include <netinet/in.h> from source files

Reformat include block in "serval.h" for readability
Forbid HTTP /restful/rhizome/bundlelist.json except from loopback
Add uuid_t and UUID primitive functions
Add random UUID to Rhizome database
Format UUID strings as lower case hex
Log SQLite PRAGMA statements as well