[WIP/TEMP] Concat fnames rework

This is to support #1097, so @splinterofchaos can tell me where I'm reasoning wrong, and travis can tell me which test is failing.
Nothing like using the right function (strpcpy in this case). This should only be merged after the PR that removes the `int sep` parameter is merged, right?