[RFC] Repaced use of xmalloc and STRCPY with xstrdup

This patch removes the use of xmalloc and teh STRCPY macro by replacing
it with xstrdup.

It therefor changes the seperator-appending to the fnames by (kind of)
reimplementing add_pathsep() but with concat_str() instead of STRCPY, as
we need to do a reallocation of the string.

---

What my question is: the `concat_str()` function does _always_ a `xmalloc()` call? Wouldn't it be better to try a `realloc()` first and then appending the content? Should we fix this? Should I before submitting this actual change (which makes more use of the `concat_str()` function in the `concat_fnames()` function)?