Factor out the error handling and pool initialization and tear-down in the
main() functions of the rest of our command-line programs. Create and
destroy the pool exactly once, in the outer function, instead of destroying
it at every return statement -- where, inevitably, some cases were missed.

This is mainly a source code improvement. The only visible effect AFAIK is
that errors will always have the correct prefix; previously, some errors
from 'svnlook' and 'svnserve', for example, had an 'svn:' prefix.

Equivalent changes to 'svn', 'svnadmin', 'svnauth' and 'svnrdump' began with
r1368252 and the most recent was r1543834.

* subversion/svndumpfilter/svndumpfilter.c,
  subversion/svnlook/svnlook.c,
  subversion/svnserve/svnserve.c,
  subversion/svnsync/svnsync.c,
  subversion/svnversion/svnversion.c
  (sub_main): New, extracted from main(). Don't do tear-down actions --
    specifically, destroying the pool -- before returning. Simplify error
    handling by using the standard ways such as SVN_ERR().
  (main): Just do initilization and tear-down around a call to sub_main().

* subversion/svnmucc/svnmucc.c
  The same, plus:
  (init): Deleted.
  (check_lib_versions): New, extracted from init(), for consistency with the
    other programs.
  (sub_main): Call check_lib_versions() instead of init().


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