(#13202) Modify join() to pass strings unmodified without errors.
Previously the join function would raise an error if anything besides an array was passed. This changes it to allow strings to be passed through join unmodified. This allows puppet code to be written that can accept either a string or an array, and act appropriately in both cases automatically. Specifically, join("abc") would return "abc".