On the log-message-templates branch, rework the log message template API
to properly support copies and deletions.

The svn_client_get_log_message_templates() function is renamed to
svn_client_get_log_message_template() (no trailing 's') and now accepts
only a single path or URL, but with revision and peg revision information.
This makes it possible to request log templates for any path at any revision.

The svn_client_get_log_message_templates_for_commit_items() function's
interface is unchanged but internally wraps the changed API and now
supports copied commit items.

This fixes cases such as where a branch is re-surrected from a formerly
deleted branch which had an svn:log-template property set on it.
The commit which re-creates the branch now uses a log template that
was defined on the deleted branch, in addition to any templates defined
on the parent directories of the newly resurrected branch.

* subversion/include/svn_client.h
  (svn_client_get_log_message_templates): Rename to ...
  (svn_client_get_log_message_template): ... this, and change parameters
   as follows: The paths_or_urls input array is replaced with a single
   path_or_url parameter. The output paramter log_message_templates is
   replaced with three output parameters log_message_template,
   defining_repos_relpath, and actual_revnum.
   Add new input parameters peg_revision and revision.
  (svn_client_get_log_message_templates_for_commit_items): Adjust docstring.
   This function no longer returns a NULL hash if no templates were found,
   but an empty hash.

* subversion/libsvn_client/commit_util.c
  (svn_client_get_log_message_templates): Rename to ...
  (svn_client_get_log_message_template): ... this, and implement the
   changed API.
  (svn_client_get_log_message_templates_for_commit_items): Adjust caller.
   Properly support copied commit items.
  
* subversion/svn/util.c
  (svn_cl__get_log_message): Adjust caller of
   svn_client_get_log_message_templates_for_commit_items(): Check the number
   of hash entries instead of checking the returned hash against NULL.

* subversion/tests/libsvn_client/client-test.c
  (test_log_message_templates): Rename to ...
  (test_log_message_template): .. this and re-implement the test to use
   the changed API.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/log-message-templates@1624039 13f79535-47bb-0310-9956-ffa450edef68