Fix issue #4085, "external can shadow a versioned directory".

* subversion/libsvn_client/externals.c
  (switch_dir_external): Don't try to switch BASE nodes over to an external.
   The switch will succeed, but the subsequent attempt of registering the
   external will fail with an error. The working copy is then left in a bad
   state until the path is switched back. With this fix we fail much earlier,
   before switching the path, allowing users to recover cleanly by removing
   either the external definition or the directory shadowed by the external.

* subversion/tests/cmdline/externals_tests.py
  (shadowing): Remove XFail marker.


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