De-pessimize the String(byte[], int, int) constructor.

Also add a few tests.

Before:
     0% Scenario{vm=app_process, trial=0, benchmark=_new_String_BII, length=1, name=UTF-8} 155838.96 ns; σ=1179.42 ns @ 3 trials
    10% Scenario{vm=app_process, trial=0, benchmark=_new_String_BII, length=10, name=UTF-8} 170741.68 ns; σ=10178.36 ns @ 10 trials
    40% Scenario{vm=app_process, trial=0, benchmark=_new_String_BII, length=10000, name=UTF-8} 3867968.18 ns; σ=347173.32 ns @ 10 trials

Change-Id: Ic1a8a46a81faf1afc807cfff132565e87944994b
After:
     0% Scenario{vm=app_process, trial=0, benchmark=_new_String_BII, length=1, name=UTF-8} 4563.80 ns; σ=7.13 ns @ 3 trials
    10% Scenario{vm=app_process, trial=0, benchmark=_new_String_BII, length=10, name=UTF-8} 6667.55 ns; σ=862.26 ns @ 10 trials
    40% Scenario{vm=app_process, trial=0, benchmark=_new_String_BII, length=10000, name=UTF-8} 1836705.08 ns; σ=71293.06 ns @ 10 trials
2 files changed