On the invoke-diff-cmd branch:  Add invoke-diff-cmd option to the log
command.  Refactor failed_command code.  Expand help info. Tidy code.

* subversion/libsvn_client/diff.c
                
  (set_up_diff_cmd_and_options): Assign variable at declaration time.
    Tidy code.

* subversion/libsvn_subr/io.c 

  (svn_io_run_external_diff): Use safer apr_pstrcat function instead
    of strcat.  Remove call to svn_dirent_local_style.

* subversion/svn/log-cmd.c

  (log_receiver_baton): New struct member invoke_diff_cmd.

  (display_diff): New parameter 'invoke_diff_cmd' . Pass
    invoke_diff_cmd parameter into svn_client_diff_peg7().

  (log_entry_receiver): Pass invoke_diff_cmd into display_diff().
 
  (svn_cl__log): Ensure mutual exclusions between invoke_diff_cmd and
    quiet and diff-cmd, require 'diff' option. Populate
    log_receiver_baton member invoke_diff_cmd.  Tidy code.

  (svn_cl__options): Expand help info for invoke-diff-cmd option.      

* subversion/svn/svn.c

  (svn_cl__cmd_table): Add opt_invoke_diff_cmd to the list of valid
    subcommands. 


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/invoke-diff-cmd-feature@1488516 13f79535-47bb-0310-9956-ffa450edef68