On the log-message-templates branch, change the contents of the
log message template hash table passed to API consumers.

Before this change, the table was keyed by the template text and
contained lists of svn_client_commit_item3_t pointers as values.
Now, the table is keyed by repository-relative paths which contribute
a log message template and the values are the log message templates.

If necessary, API users can still determine which commit item is affected
by which template by correlating the repository-relative path of each commit
item with the repository-relative path of each log message template.

* subversion/include/svn_client.h
  (svn_client_get_commit_log4_t): Document the new hash table structure.

* subversion/libsvn_client/commit_util.c
  (get_log_message_templates): Rename 'log_templates' output parameter to
   'log_message_templates' for consistency. Populate the log template
   table with keys and values as per the above rules. Set the output parameter
   to NULL if no template is defined (this is a pre-existing API rule the
   code failed to implement).

* subversion/svn/util.c
  (svn_cl__get_log_message): Adjust for above API change and change the way
   multiple log templates are displayed to the user. We used to show:

     Multiple log message templates found:
     {{{
     template 1
     }}}
     {{{
     template 2
     }}}
     --This line, and those below, will be ignored--

  Now, we show something like this instead:

    --Log message template from 'trunk/epsilon'--
    template 1
    --Log message template from 'trunk'--
    template 2
    --This line, and those below, will be ignored--


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