Interactive path selection can use refactoring

The code in the director which is used to select interactively the files
to restore needs some cleanup. Currently the cwd (current working
directory) is stored in a fixed length buffer of sometimes 1100 and
sometimes 2000 bytes. It would be better to use a POOLMEM buffer
which can extend to the actual length needed.

Currently you can also not directly mark or unmark a full path as the mark
and unmark only matches the name using fnmatch against the current working
directory. This also skips any path information and as the internal storage
of the tree is per directory node this will never work. A simple fix would
be to check if the selection pattern is a full path (e.g. has a / in it)
and then split the selection in a path and file part. Then we can do a
change directory into the wanted path and then do the same pattern matching
and restore the working directory after the selection.

Fixes #195: Interactive path selection can use refactoring