const-qualify two char* args.

In files_names.[ch], IsNewerFileTree() doesn't need to modify its dir;
nor does JoinSuffix need to modify its leaf.  So don't invite callers
to cast away constness in order to call these functions ...
Clean-up globals in cmockery.c

Some were unused, the rest could be declared static.  One was only
used via strcmp(, "file_writer_test"); replaced it with the bool
result of this comparison.
Don't be stupid in how we use formatting functions.

One use of sprintf() where strcpy() would do.  Many uses of
vsnprintf() to a buffer that's then output, where vfprintf() would
avoid the risk of truncation, save the need for a buffer and do the
job directly.  (Also: each fprintf(out, "%s", buffer) should have been
an fputs(buffer, out) in the first place.)
Various format fixes for printf-style formatting.
Initialize uninitialized array !
Unused variable fix.

Don't bother with an intermediate variable when all you're going to do
with its value is assert it's NULL.  When NDEBUG is defined, the
variables were set but not used ...

Also change tests to use assert_true (testing checks) instead of
assert (program-level failures), prompted by Kristian's review
comments.
Make String2StringArray admit it doesn't change its first param.
Make StringSafeCompare a proper sort function.

Claiming that its second argument is bigger when either is NULL would
be A Bad Thing for some sort algorithms ("any" vs NULL gets different
answers depending on order passed).  So actually give a stable result,
treating NULL as less than any other string.
Removed unused parameter of static function.
Avoid uninitialized variable warning.
Eliminate unused parameter in static function.

It was used in an assertion; but the assertion just checked the passed
value matched what the one caller passed.  Boring.
Don't pass string literal as a char*.

A string literal should always be treated as const char*, and
functions that don't need to modify data pointed to by a parameter
should always declare them const.