join helper should be more flexible #138

it should be able to join:

java.util.Iterable
java.util.Iterator
arrays
values