Add SWIG Perl support for svn_client_log3 and svn_client_log4.

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h
* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
  (svn_swig_pl_thunk_log_entry_receiver): New.

* subversion/bindings/swig/include/svn_types.swg:
  Add the Perl typemap for
  (svn_log_entry_receiver_t receiver, void *receiver_baton).
  Since we now have typemaps for Perl, Python and Ruby, consolidate
  them using the callback_typemap() macro. While we're at it,
  do the same for the
  (svn_log_message_receiver_t receiver, void *receiver_baton)
  typemaps.

* subversion/bindings/swig/svn_client.i
  Drop three typemaps. The first two are obviously bogus as the
  types don't match, and the third is redundant as it's also in
  svn_containers.swg.

* subversion/bindings/swig/include/svn_containers.swg
  Add Perl typemaps for PROPHASH and changed_paths2.
  Apply them for Perl (i.e. drop the restriction on Python or Ruby).
  Similar to Ruby, add a variant STRINGLIST_MAY_BE_NULL of
  STRINGLIST_MAY and apply it to the apr_array_header_t* revprops
  parameter of svn_client_log3 and others. All functions using
  this parameter explicitly allow the value to be NULL
  (meaning "retrieve all revprops").

* subversion/bindings/swig/perl/native/Core.pm
  Add class magic to use Swig types _p_svn_log_changed_path2_t
  and _p_svn_log_entry_t and documents their methods.
  Add properly namespaced aliases for the values
  of enum svn_tristate_t.

* subversion/bindings/swig/perl/native/t/3client.t
  (test_log_message_receiver): New, code factored surrounding test. 
  Run the existing test for $client->log also for $client->log2.
  Add similar tests for $client->log3 and $client->log4
  especially exercise all getter methods of _p_svn_log_entry_t.
  Add a test for $client->log3 with a parameter targets
  that is a list of a URL and relative paths (instead of
  a single URL).

Patch by: Roderich Schupp <roderich.schupp{_AT_}gmail.com>


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