Follow-up to r1936010: close the remaining issue #3445 residual in the write-through proxy.

The body-rewrite filters still did a blind substitution of the location root,
so a dead-property value containing the master location, or a mid-path directory
named like the slave location, was rewritten along with the genuine hrefs.
Anchor the match on the href tag (<D:href>): serf and mod_dav(_svn) both emit
that prefix with the path immediately after the tag, so only href-initial roots
are translated. A raw <D:href> inside a property value would still be
rewritten;, that cannot currently happen because the emitters escape or
base64-encode values. Although that is not a structural guarantee.

* subversion/mod_dav_svn/mirror.c 
  (PROXY_HREF_ANCHOR): New. Document the href-tag anchor. 
  (locate_ctx_t): Store search/replace strings instead of named local/remote paths. 
  (locate_ctx_init): New. Build the anchored pattern and replacement from a
   from-root and a to-root. 
  (dav_svn__location_in_filter, dav_svn__location_body_filter): Use locate_ctx_init.
  (dav_svn__location_header_filter): Concatenate the slave root and the 
   remainder without a separator, avoiding a doubled slash.

* subversion/tests/cmdline/dav-mirror-autocheck.sh
  (curl_auth, create_master_txn, delete_master_txn, propfind_slave_txr): New 
   helpers for the in-txn curl probes.
   Add full coverage of all routes through the proxy: move and v1 MKACTIVITY/CHECKOUT
   including a clean Location rewrite. A proxied revprop change whose value contains
   the slave URL, dead-property values surviving a proxied PROPFIND (the former XFAIL),
   and a location-name collision in multistatus hrefs. Tests now all include <D:href> 
   with the slave URL in the user data to ensure they are escaped properly or
   protected by the filter whitelist.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/proxy-move-copy-fix@1937142 13f79535-47bb-0310-9956-ffa450edef68
2 files changed