Issue #69: start writing SQLite multi-bind function
Issue #69: continue work on multi-bind varargs

Revise sqlite_prepare() macro et al and underlying functions to use bind
varargs instead of sprintf(3)-style varargs.

Convert all SQL function calls in rhizome_database.c
Fix 'rhizomeops' test case

Was broken by 919455608f33b6a66a4d38dc5b3abf4f83ff52ac
Issue #69: refactor all Rhizome SQL queries to use binding

Remove all uses of sprintf(3) and its ilk to form SQL query commands.
Use the new sqlite_bind() and sqlite_prepare_bind() functions instead.
Issue #69: replace sqlite3_bind_xxx() calls

Use the new sqlite_bind() and sqlite_prepare_bind() calls instead.

Add cmp_sid_t() function, use it instead of memcmp().

Use alloca_tohex_sid_t() in preference to alloca_tohex_sid() when the
argument is a sid_t.
Issue #69: transient text SQL binding
rhizome_bid_t

Consistent type for internal binary representation of Rhizome Bundle ID
(aka Manifest ID)
Fix two Rhizome Direct test cases
Fix bugs revealed by test failures

Introduced by the recent change to rhizome_bid_t everywhere
Add config option 'debug.rhizome_bind'
A few more uses of rhizome_bid_t

Now the TEXT_TOUPPER SQL bind action is only used for filehash hex
strings; all Bundle ID parameters are bound using RHIZOME_BID_T.
Merge branch 'sqlbind' into 'development'

Issue #69: Fixed SQL injection vulnerabilities (for good?) by replacing
sprintf(3)-style SQL statement composition with a varargs parameter
binding syntax.

Introduced rhizome_bid_t type and used it everywhere instead of unsigned
char [RHIZOME_MANIFEST_ID_BYTES].  Bundle IDs are now stored and passed
around internally almost entirely in binary form.