Create a function that, given a list of string lists, returns an list of all combinations as concatenated strings.
The function will accept an optional second string parameter. This parameter, if specified, is to be used to combine two strings.
combinator([["a", "b"], ["c", "d"]]) ➞ ["ac", "ad", "bc", "bd"]
combinator([["a"], ["a", "b"], "abc"]) ➞ ["aaa", "aab", "aac", "aba", "abb", "abc"]
combinator([["foo", "bar"], ["baz", "bamboo"]], " ") ➞ ["foo baz", "foo bamboo", "bar baz", "bar bamboo"]
combinator([[]]) ➞ []