LANG-701 Added new joinWith method to support varargs

...rom previous join methods, but have added ExpectedException rule to allow for better exception handling in tests
Let's not change the testing style for this change. Asserting exception messages does not make a lot of sense, since the messages are not part of the public API we build (see my comment in JIRA).