Concatenates a delimited string with special null and empty value handling
string uJoin(delimiter, allowEmpty, params, ...)
uJoin("-", 1, "James", "", "Tiberius", "Kirk") // returns "James--Tiberius-Kirk"
uJoin("-", 0, "James", "", "Tiberius", "Kirk") // returns "James-Tiberius-Kirk"