JERSEY-2718 cleanup code

* fix performance issue: StringBuilder is not necessary for compile time constants or final references
* fix performance issue: use a pre-defined array size when converting a list to an array
* fix performance issue: copy an array using JVM's pre-defined utility method
I am well aware of the problem of using String concatenation in loops. Yet, this is not the issue. (None of the "fixed" issues in this pull request actually fall into that category btw., these changes are just cosmetic to improve readability.)

But in this specific case, in the original code we are allocating a new String builder to exactly host the new string and then compose the string from a character and a substring (which is a "shallow" String creation). So in the original code there is one less String instance being created compared to the proposed change.