Allow String.join to take {Object*}

Changes the parameter of String.join from {String*} strings to {Object*} objects.

Closes #219.

(Duplicate of #442, but based on latest master – there were merge conflicts with a doc change by Gavin.)