[path/filepath] Change join() to take a []string instead of varargs
This makes passing an allocator easier, as you no longer have to resort to
named arguments:
Before:
`join(a, b, c)` became `join(elems={a, b, c}, allocator=ally)`
After:
`join({a, b, c})` becomes `join({a, b, c}, ally)`