Allow String.join to take {Object*}

Changes the parameter of `String.join` from `{String*} strings` to `{Object*} objects`.

Closes #219.

Open questions:
* JS: is it correct to use `obj.string`? It seems very weird to me that that’s not a function… @chochos?
* Java: is it correct that the `Iterable` is of `j.l.Object` and not `c.l.Object`? It wouldn’t work with `c.l.Object`, but I’m still suspicious.