Remnove most of the direct calls to exit() in the command-line tools, in
favour of returning through main(), so that consistent kinds of clean-up can
take place. As a result, any error in flushing stdout will now be reported
in these cases like in all other cases.

* subversion/svnmucc/svnmucc.c
  (handle_error): Delete.
  (usage): Don't exit. Take the output stream directly as a parameter
    instead of deducing it from an exit-code parameter.
  (insufficient): Don't exit, just return the error.
  (sub_main): Don't exit directly or expect handle_error(), usage() or
    insufficient() to do so; instead, return appropriately.

* subversion/svnserve/svnserve.c,
  subversion/svnversion/svnversion.c
  (usage): Don't exit.
  (help): Don't exit.
  (sub_main): Don't exit directly or expect usage() or help() to do so;
    instead, return appropriately.


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