Re-apply a fixed version of the changes from r1596591 which were
reverted in r1596592. This version handles locally modified files
properly, rather than overwriting local changes as r1596591 did.
The regression test has also been expanded to cover local mods.

Fix issue #1975, "svn switch does not update keywords".

* subversion/libsvn_wc/update_editor.c
  (update_keywords_after_switch_cb): New helper function
   which checks for the presence of an svn:keywords property
   and queues an install_file work queue item if present.
   Thus, when the work queue is run to complete the switch
   operation, all files with keywords will go through the
   translation process.
  (close_edit): If this is a switch operation, run a recursive
   proplist with the specified depth (infinity by default),
   invocing update_keywords_after_switch_cb() for each node
   with properties.

* subversion/tests/cmdline/switch_tests.py
  (switch_keywords, test_list): New test. Fails without
   the above change and passes with it.


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