Fix issue #3741, 'externals not removed when working copy is made shallow'.

* subversion/libsvn_client/update.c
  (update_internal): If the target tree is being cropped by the update,
   run the externals handler after the update has completed to account
   for externals which have been cropped. Otherwise, the external definition
   stays behind and obstructs future updates.

* subversion/tests/cmdline/externals_tests.py
  (update_dir_external_shallow, test_list): New test.


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