Don't pass literal strings when a char* is needed.

Perhaps IsUserNameValid() shouldn't need to modify its parameter; but
its test shouldn't pass it a const char* parameter as long as it
claims it does.  Turn the literals into initializers for non-const
arrays.
Warning-fix: use assert_true() in tests rather than assert().

In an NDEBUG build, assert() doesn't actually test the condition; but
the test should indeed be testing it, so assert_true() is more apt.
Also simplify a return.
Only mark parameter as unused when it isn't used.

CurrentZoneName()'s string parameter is only used when we
HAVE_GETZONEID; so only mark it as unused when that's not enabled.
Mark parameter as unused only when it isn't actually used.

Was marked as unused, but is used in an assertion.
Apply suitable #if-ery to the ARG_UNUSED.
warning-fix: Correct signature of SaveXmlCallback().

It's used as a SaveCallbackFn, so needs to accept a NewLineMode as
third parameter, even if it does ignore it.  It should also be a
static function (nothing outside its file uses it); and we may as well
simplify the #if-ery around it and its one caller.
Typo-fixes and a rephrase in HACKING.md

s/absued/abused/
s/indenpendent/independent/
Rewrote garbled line about keeping log messages atomic.
Warning-fix: eliminate uses of deprecated sprintf().

All in verify_databases.c; and clean up CreateTableColumns(), which
was one of the culprits.  It was also adding random extra amounts of
space to an allocation - "just in case" I suppose - thereby
obfuscating the actual amount of space needed.  Eliminated an
intermediate fixed-size buffer we didn't need (and any associated
truncation).  Avoid quadratic costs associated with repeatedly
traversing a string to find its end, at which to append.
Merge pull request #1966 from ediosyncratic/warning-fixes

Warning fixes