Add some code in an attempt to fix issue #4273 "'svn patch' should change
symlink targets", from an operating system that doesn't support symlinks.

It doesn't break any tests on Windows and with a lot of luck might create an
XPass on posix.

* subversion/libsvn_client/patch.c
  (patch_target_t): Add boolean to note that we are editting a symlink.
  (resolve_target_path): Detect symlinks.
  (symlink_baton_t): New struct.

  (readline_symlink,
   tell_symlink,
   seek_symlink,
   write_symlink): New functions. Handling symlinks as a one line file,
     like our subst library does.

  (init_patch_target): Hook up link handling, when needed.


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