git-svn: fix occasional "Failed to strip path" error on fetch next commit, try #3

When --stdlayout and --preserve-empty-dirs flags are used and a
directory becomes empty, two things happen:

Sometimes find_empty_directories() returns empty list and no empty dir
placeholder file created. This happens, because find_empty_directories()
marks all directories as non-empty, if at least one updated directory is
non-empty.

Sometimes git-svn dies with "Failed to strip path" error. This happens,
because find_empty_directories() returns git paths and
add_placeholder_file() expects svn paths
git-svn-test: don't test for possible bug "Failed to strip path", try #3

In the previous commit a showcase was added to
t9160-git-svn-preserve-empty-dirs.sh for the "Failed to strip path" bug.
Now the flag --stdlayout should be enough.
git-svn: fix svn fetch erroneously recreating empty dir placeholder deleted earlier, try #3

The Fetcher accumulates deleted paths in an array and doesn't reset the
array on next commit. This causes different results when interrupting
and resuming the fetch.
When --preserve-empty-dirs flag is used, a path in the array can be
erroneously treated as just deleted (although it was deleted in the
previous commit) and cause the creation of an empty dir placeholder.
git-svn: fix empty dir tracking in branches, try #3

  - When creating a tag or branch from a subdir, a disjoint branch is
    created. Then git-svn re-imports the commits using this dir as strip
    path.

    During this re-import the variable %added_placeholder is not up to
    date. Because the branch is disjoint, this variable should be empty
    in the beginning, but it's not. Because of that git-svn tries to
    delete non-existent .gitignore files and dies.

  - When creating a normal tag or branch, git-svn creates a normal
    branch without reimport, but the placeholder files in the new
    branch are not added to %added_placeholder.

This patch does 2 things:

  - It makes git-svn store paths in %added_placeholder already
    translated from "trunk/subdir/" to "tags/subdir_1.0/" during
    reimport.

  - When a normal branch is created, it takes entries in
    %added_placeholder belonging to the source branch, translates them
    to target branch and adds them to %added_placeholder.