Premature optimization of nqp::join() on JVM

Instead of using a `StringBuilder` (which may need to repeatedly re-allocate its internal buffer), we allocate a character array of correct size. This improves the performance of micro-benchmarks, but the effect on setting compilation is minimal.