Resolve issue #3086 "mod-dav-svn ignores pre-revprop-change failure on
revprop delete" by using the atomic revpropchange mode for revision
property deletes.

A followup patch will tweak svnsync to avoid the additional request needed
for the sync properties.

* subversion/libsvn_ra_serf/commit.c
  (svn_ra_serf__change_rev_prop): Make sure we have the old property value when
    deleting a property on an atomic revprop capable server to allow seeing
    errors.

* subversion/libsvn_ra_serf/ra_serf.h
  (svn_ra_serf__rev_prop): Make public within library.

* subversion/libsvn_ra_serf/serf.c
  (includes): Add svn_props.h.
  (svn_ra_serf__rev_proplist): Rename to ...
  (serf__rev_proplist): ... and make the list of properties to obtain an
    argument.
  (svn_ra_serf__rev_proplist): New function, wrapping serf__rev_proplist.
  (svn_ra_serf__rev_prop): Optimize the retrieval of "svn:*" properties by
    passing the DAV name to serf__rev_proplist.

* subversion/tests/cmdline/prop_tests.py
  (revprop_change): Remove XFail marker.


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