In all of the command-line programs, flush stdout before exiting, in order
to report consistently if any information written to standard output is
being lost.

Standard output would be flushed on exit anyway, but this makes sure that
output is not silently lost if it fails. We will get both an error message
on stderr and a non-zero exit code.

See issue #780 "Check printf return values" and r1499470 "Also flush stdout
when returning an error".

A flush was present in some of the programs already, but was not guaranteed
to be executed in all cases, and only since r1499470 has an error-returning
code path been subject to a flush. This is now consistent across all the
programs, whether exiting successfully or with an error, except for a few
irregular exit paths that still remain, such as some calls to exit().

* subversion/svnadmin/svnadmin.c,
  subversion/svnauth/svnauth.c,
  subversion/svndumpfilter/svndumpfilter.c,
  subversion/svnlook/svnlook.c,
  subversion/svnmucc/svnmucc.c,
  subversion/svnrdump/svnrdump.c,
  subversion/svnserve/svnserve.c,
  subversion/svn/svn.c,
  subversion/svnsync/svnsync.c,
  subversion/svnversion/svnversion.c
  (sub_main): Remove the flush on the main successful code path for
    svnadmin, svnauth, svndumpfilter, svnlook, svnmucc, svnversion; on the
    main successful and main failure code paths for 'svn'.
  (main): Flush here, instead, and report both the main error (if any) and
    any flush error.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1543868 13f79535-47bb-0310-9956-ffa450edef68