Implement svnadmin verify --keep-going, which would continue the verification
even if there is some corruption, after printing the errors to stderr.

* subversion/svnadmin/svnadmin.c
  (svnadmin__cmdline_options_t): Add keep-going option.

  (svnadmin_opt_state): Add keep-going option.

  (subcommand_verify): Switch to the new svn_repos_verify_fs3 function instead
   of svn_repos_verify_fs2, and pass the keep-going option.

  (repos_notify_handler): Handle svn_repos_notify_failure notification by
   printing warnings to stderr with the respective revision number.

* subversion/include/svn_repos.h
  (svn_repos_notify_action_t): Add svn_repos_notify_failure to notify failure.

  (svn_repos_verify_fs3): Newly added to handle "--keep-going" option.

  (svn_repos_notify_t): Add "err", the error chain which indicates what went
   wrong during verification.

* subversion/libsvn_repos/dump.c
  (svn_repos_verify_fs3): Handle "keep-going". If "keep-going" is TRUE, the
  error message is notified and verification process continues.
  When a repository fails to verify, return an SVN_ERR_REPOS_CORRUPTED error
  message and return a non-zero exit code.

  (notify_verification_error): New function to notify the verification
  failure error message.

  (verify_one_revision): New wrapper function to perform all the error checks for
  a particular revision in one go.

* subversion/libsvn_repos/deprecated.c
  (svn_repos_verify_fs2): Deprecate. Call svn_repos_verify_fs3 with
   keep_going as FALSE by default to keep the old default implementation.

* subversion/tests/cmdline/svnadmin_tests.py
  (verify_keep_going): New test case to test svnadmin verify and the new
  switch --keep-going.

* subversion/include/svn_fs.h 
  (svn_fs_verify_rev): Fix the document string.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1439812 13f79535-47bb-0310-9956-ffa450edef68