Speed up the transmission of log data over ra_svn. Instead of the parsed /
interpreted write_tuple API, use statically typed functions to send the
data.

As part of this, add a variant of svn_compat_log_revprops_out to our API
that returns svn_string_t instead of C-style strings.  While the new API
preserves more information from the revprops hash,  the return values of
the old one is often easier to use with other functions.  So, instead of
rev'ing a gazillion APIs, don't deprecate the old one.

* subversion/include/private/svn_ra_svn_private.h
  (svn_ra_svn__write_data_log_changed_path,
   svn_ra_svn__write_data_log_entry): declare explicit API for those parts
                                      of the ra_svn protocol

* subversion/libsvn_ra_svn/marshal.c
  (svn_ra_svn__write_data_log_changed_path,
   svn_ra_svn__write_data_log_entry): implement them

* subversion/include/svn_compat.h
  (svn_compat_log_revprops_out_string): declare a new, faster public API

* subversion/libsvn_subr/compat.c
  (svn_compat_log_revprops_out_string): implement it
  (svn_compat_log_revprops_out): call the new API to factor out common code

* subversion/svnserve/serve.c
  (log_receiver): use the new API make things more efficient


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1486033 13f79535-47bb-0310-9956-ffa450edef68