Resolve issue #4252 and a few other loose ends in 'svn ci --include-externals',
such as committing directory externals below an intermediate unversioned
directory.

* subversion/libsvn_client/client.h
  (svn_client__harvest_committables): Add argument.

* subversion/libsvn_client/commit.c
  (append_externals_as_explicit_targets): Allow directory externals.
  (svn_client_commit6): Update harvester with information when to start using
    depth empty.

* subversion/libsvn_client/commit_util.c
  (svn_client__harvest_committables): Handle all items after a specific index
    as depth empty.

* subversion/libsvn_wc/wc-queries.sql
  (STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW): Split the immediate case into
  (STMT_SELECT_COMMITTABLE_EXTERNALS_IMMEDIATELY_BELOW): ... this query to
    allow the Sqlite optimizer some room to really optimize.

* subversion/libsvn_wc/wc_db.c
  (svn_wc__db_committable_externals_below): Use specific queries.

* subversion/tests/cmdline/externals_tests.py
  (include_immediate_dir_externals): Remove XFail. Fix test expectations.


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