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.)