Fix GC_err_printf called from atexit hook by duping GC_stderr (Unix)
* misc.c: Include unistd.h if UNIX_LIKE (or CYGWIN32 or SYMBIAN) for
dup() prototype.
* misc.c (GC_init): Test "GC_FIND_LEAK" environment variable before
that for "GC_LOG_FILE" (since the block for the latter uses
GC_find_leak value).
* misc.c (GC_init): Invoke dup (only if UNIX_LIKE or CYGWIN32 or
SYMBIAN) for GC_stderr and GC_stdout in case of GC_find_leak but
when GC_stdout/err are not redirected to a file (to workaround
outputting to closed stderr/out file descriptor when GC_gcollect
(GC_print_callers) is called from atexit hook); add comment.