Improve Rhizome Direct tests

Push/pull three bundles of varying sizes each way instead of one 64 byte
bundle each way
Improve test framework: create_file --append
Improve Rhizome stress tests

Rename tests to start with "Stress" prefix

Refactor StressRhizomeAdd test to use conventional utilities and be more
readable.  Remove trailing "sleep 10".
Read the entire response before processing it. Issue #45.
Improve test framework: fork concurrent processes

Add fork(), forkKillAll() and forkWaitAll() framework primitives for running
many concurrent background processes within a single test case.
Add Rhizome Direct stress test

Use new test framework fork() support to run several rhizome direct
push/pull/sync processes at once to a single server.

Speed up setup for Rhizome Transfer stress test.
Fix new Rhizome Direct stress test

Now PASSES with Jeremy's recent fix, but FAILED before
Improve test framework: tfw_quietly, tfw_multicolumn

New tfw_quieten() is similar to tfw_nolog(), but only silences the chatty log
output for asserts and other actions that succeed.  Failures are still logged.

New tfw_multicolumn() encapsulates an awk(1) script to format a list into
columns that fit into $COLUMNS width.

Improve exit status handling for test ERROR and FAIL conditions.
Improve Rhizome test defs: rhizome_list_dump

New rhizome_list_dump() reads a Rhizome list on standard input and formats the
output for easy reading in test logs, including only the columns named by its
arguments.

The assert_rhizome_list() function now sets the $rhizome_list_file_count global
variable.
Improve Rhizome Direct stress test

Reduce log verbosity, report extra files received by nodes, re-order
push/pull/sync process start order to increase chance of cross-fetching.
Add 'keyring' test script with three basic tests
Add keyring tests to 'all' test script
Rewrite command-line parser

Now supports optional args followed by non-optional.
New "str.h" functions: strn_str_cmp(), strn_str_casecmp()
Improve command-line parser

Support prefix<any>, prefix=<any>, prefix <any>, [prefix<any>], [prefix=<any>]
and [prefix <any>] argument syntax forms.

Support [arg]... optional repeated argument syntax.
Improve keyring PIN handling

Replace explicit [<pin,pin...>] command-line arguments with --entry-pin=<pin>
options.  Update test scripts accordlingly.

Add --keyring-pin=<pin> option (with one test case).
Refactor: rename some cli.h structs

Now all symbols defined in cli.h start with or contain "cli_"
Improve cli_arg() diagnostic log messages
Cosmetic improvements to 'routing' test script
Replace "add did" command with improved "keyring add did"

Output is same format as "keyring add" command

Fixed minor bug in rolling a random DID -- last byte was not random

Some code improvements, including better support for sid_t