Remove the separate wc apis that registered a file external before it was inserted in the working copy. The external editor can install externals in a single step, which removes intermediate database states.
* subversion/include/private/svn_wc_private.h (svn_wc__set_file_external_location): Remove function. (svn_wc__get_file_external_editor): Provide the definition to the editor. (svn_wc__register_file_external): Remove function.
* subversion/libsvn_client/externals.c (switch_file_external): Stop registering file externals before they are inserted.
* subversion/libsvn_wc/externals.c (svn_wc__set_file_external_location): Remove function. (edit_baton): Add some comments. Add to be recorded information. (close_file): Register the provided information instead of the actual information. (svn_wc__get_file_external_editor): Store to be recorded information in baton.