Allow String.join to take {Object*} #219

Changes the parameter of String.join from {String*} strings to
{Object*} objects.

Closes #219.
Add tests for #219 (String.join takes objects)

Mostly copied from the existing String.join tests, wrapping Iterables /
Sequences around the strings.