Fix empty playlists on restore

The PathProbe stores the state (the m_splitPath stack) used by
FsDiscoverer::discover(). It assumes that the discoverer calls
PathProbe::proceedOnDirectory() in a certain order (it updates its
internal state accordingly).

If the "current depth level" or the target path (m_splitPath.top()) is
different from the directory name, the directory is rejected.

For example, here are the successive directories considered to discover
"/home/user/Music/album/track.mp3" from the entryPoint "/home":

    -- depth 0
    m_path:            "/home/user/Music/album/track.mp3"
    m_splitPath:       ["track.mp3", "album", "Music", "user", "home"]
    m_splitPath.top(): "home"
    directory:         "/home"
    directory name:    "home"
    return:            true

    -- depth 1
    m_path:            "/home/user/Music/album/track.mp3"
    m_splitPath:       ["track.mp3", "album", "Music", "user"]
    m_splitPath.top(): "user"
    directory:         "/home/user"
    directory name:    "user"
    return:            true

    -- depth 2
    m_path:            "/home/user/Music/album/track.mp3"
    m_splitPath:       ["track.mp3", "album", "Music"]
    m_splitPath.top(): "Music"
    directory:         "/home/user/Videos"
    directory name:    "Videos"
    return:            false

    -- depth 2
    m_path:            "/home/user/Music/album/track.mp3"
    m_splitPath:       ["track.mp3", "album", "Music"]
    m_splitPath.top(): "Music"
    directory:         "/home/user/Music"
    directory name:    "Music"
    return:            true

    ...

The problem is that it can only work if the first directory (the entry
point) does not contain more than 1 token. For example,

    -- depth 0
    m_path:            "/sdcard/emulated/0/Music/track.mp3"
    m_splitPath:       ["track.mp3", "Music", "0", "emulated", "sdcard"]
    m_splitPath.top(): "sdcard"
    directory:         "/sdcard/emulated/0"
    directory name:    "0"
    return:            false

Since the initial directory is "/sdcard/emulated/0", the directory name
("0") does not match the first token of the target path ("sdcard"): the
internal state of PathProbe is inconsistent with the sequence of calls
it expects from the discoverer.

This commit quick-fixes the problem by handling the entry point
separately to "consume" all the initial path tokens, so that the
internal state of PathProbe is synchronized with the calls it receives
from the discoverer.
4 jobs for fixemptyplaylists in 22 minutes and 39 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Test
passed #302994
amd64 debian
asan-ubsan

00:22:27

passed #302991
amd64 debian
linux

00:17:39

passed #302992
win32
win32

00:22:04

passed #302993
win64
win64

00:22:39