New enum rhizome_payload_status

Refactor a lot of Rhizome bundle storage code to use the new "enum
rhizome_payload_status" instead of mysterious int values to represent
the outcome of the operation.
Replace str_to_uint() with str_to_uint32()

Also str_to_int() with str_to_int32()
Replace config 'rhizome.external_blobs' with 'rhizome.max_blob_size'
Add Rhizome db blob primitive functions

sqlite_blob_open_retry()
sqlite_blob_write_retry()
sqlite_blob_close()
Support streaming directly into Rhizome store

The rhizome_open_write() function now accepts RHIZOME_SIZE_UNSET as the
payload size, and streams into an external blob until finished, then
copies the external blob into the FILEBLOBS table if it is small enough.

Needed so that HTTP GET /restful/rhizome/insert can stream the payload
directly into the DB even if the supplied manifest does not specify
'filesize'.
Refactor rhizome_write_file() to use fd not FILE*
rhizome_manifest_set_name_from_path()

Refactor rhizome_fill_manifest() to use it
Refactor rhizome_crypt_xor_block() and add debug
Improve Rhizome manifest setter functions

Remove interactions between rhizome_manifest_set_filesize()
and rhizome_manifest_set_filehash(), since any inconsistency
is caught by rhizome_manifest_validate() in any case
UNFINISHED Implement HTTP POST /restful/rhizome/insert