Fix issue #4463: log -g --xml doesn't differentiate between forward and
reverse merges.

This adds a new attribute on the logentry entity named reverse-merge,
which is true if the merge is a reverse merge and false if it's a
regular merge.

* subversion/tests/cmdline/svntest/actions.py
  (LogEntry.__init__): Add an attributes dict
  (LogEntry.assert_log_attrs): Provide a way to compare attributes dict
  (LogParser.logentry_start): Pass the attributes from the logentry to
    the LogEntry constructor.
  (svntest.run_and_verify_log_xml): Add a new expected_log_attrs argument
    which lets you test the logentry entity's attributes.

* subversion/tests/cmdline/log_tests.py
  (merge_sensitive_log_xml_reverse_merges, test_list): New test

* subversion/svn/log-cmd.c
  (svn_cl__log_entry_receiver_xml): Output the reverse-merge attribute
    for the logentry entity when there the revision is a merge from -g.


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