Merge the 1.7.x-issue4480 branch:

* r1577739, r1577755, r1588772, r1588778
   Resolve issue #4480: Mergeinfo overwritten on successive merges
   Justification:
     This issue allows accidentally destroying mergeinfo changes and other
     property changes.
   Notes:
     The trunk change uses a new fs layer api. The branch contains the
     1.8.x fix backported to 1.7.x
   Branch:
     ^/subversion/branches/1.7.x-issue4480
   Votes:
     +1: rhuijben, philip, breser



git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/1.7.x@1590206 13f79535-47bb-0310-9956-ffa450edef68