Update zipjoin() to support arbitrary arg count

Previously the zipjoin() function took three arguments and zipped the
first two together, joining the result with the third argument as a
delimiter.

This commit changes the zipjoin() function to take an arbitrary number
of arguments no fewer than three, where the first argument is the
delimiter to use when joining and all subsequent arguments are arrays to
be used in the zip process.