On fsfs-lock-many branch: make ra_local and svnserve use
the new multiple path svn_fs_lock2 and svn_fs_unlock2.
mod_dav_svn is still using the single path variants as
the LOCK requests only ever supply a single path.  There
is a user visible behaviour change: most locking errors
now cause the client to warn rather than error.

* subversion/libsvn_ra_local/ra_plugin.c
  (svn_ra_local__lock): Convert to use svn_repos_fs_lock2.
  (svn_ra_local__unlock): Convert to use svn_repos_fs_unlock2.

* subversion/svnserve/serve.c
  (lock_many): Convert to use svn_repos_fs_lock2.
  (unlock_many): Convert to use svn_repos_fs_unlock2.

* subversion/include/svn_error.h
  (SVN_ERR_IS_LOCK_ERROR,
   SVN_ERR_IS_UNLOCK_ERROR): Add SVN_ERR_REPOS_HOOK_FAILURE.

* subversion/libsvn_client/locking_commands.c
  (store_locks_callback): Recognise SVN_ERR_REPOS_HOOK_FAILURE,
   check lock is non-NULL before attempting to use it.

* subversion/include/private/svn_log.h
  (svn_log__lock,
   svn_log__unlock): Change parameter from array to hash.

* subversion/libsvn_subr/log.c
  (svn_log__lock,
   svn_log__unlock): Change parameter from array to hash.
  (svn_log__lock_one_path,
   svn_log__unlock_one_path): Pass hash rather than array.

* subversion/tests/cmdline/authz_tests.py
  (authz_locking): Change expected error to expected warning.

* subversion/tests/cmdline/lock_tests.py
  (block_unlock_if_pre_unlock_hook_fails,
   lock_hook_messages): Change expected error to expected warning.
  (failing_post_hooks): New test, XFail for DAV.
  (test_list): Add new test.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/fsfs-lock-many@1571895 13f79535-47bb-0310-9956-ffa450edef68