Add log format config options for file and stderr

Upgrade configuration schema macros to allow optional "default label"
argument to SUB_STRUCT and VALUE_SUB_STRUCT elements.

New STRUCT_DEFAULT section declares alternative STRUCT default values
with a label.
Fix comment in strbuf.h
Log to file, Android and stderr simultaneously

Indepent configuration of show_pid, show_time and log level for each
destination

Update test scripts for new config options

Include xprintf.c in MDP client source files (now used by log.c)
Replace logDebugFlags() with logCurrentConfig()
Improve configuration dump to log

Refactor much of the new code in log.c

Add new functions: cf_load_strict() and cf_reload_strict() for use by the
server, which does not want to overwrite its in-memory config at all if there
is any defect in the config file.  However, commands always want to overwrite
the default in-memory config, even with a defective config file, so that
logging has a chance to succeed.

Added `log_format.dump_config` boolean config option
Add logging tests, add "log" command

Refactor log.c ready for log file rotation
Remove CLIFLAG_NONOVERLAY and CLIFLAG_STANDALONE

Not used for anything
Add emkdirs() and emkdirsn()
Add strbuf_append_strftime()
Add strbuf_remaining()

Improve some comments in strbuf.h
Add str_index(), str_rindex(), et al
New config schema representations: uint32_time_interval and ushort
Improve form_serval_instance_path() error message
Implement configurable log file rotation
Improve config schema macros and log options

Add STRUCT_ASSIGN macro to config schema

Document STRUCT_DEFAULT and STRUCT_ASSIGN in block comments

Move 'log.file_xxx' options to 'log.file.xxx'
Fix test failures from latest logging changes
Improve logging tests, fix failures, add 'log.file.path' config option
Rename config option 'log.stderr' to 'log.console'

Because Android <stdio.h> defines 'stderr' as a macro...
Merge branch 'naf2-logging' into 'development'

Conflicts:
	commandline.c
	tests/rhizomeprotocol