Improve performance of string_dup

This is used for all the string literals we store so we don't modify the
original.

Benchmarks

Before:

=== bin/rbx ===
         dup strings 13946320.9 (±9.3%) i/s -   68551854 in   4.971159s
       clone strings   711332.0 (±3.6%) i/s -    3572237 in   5.028634s
  create new strings   409099.0 (±3.7%) i/s -    2061216 in   5.045702s

After:
=== bin/rbx ===
         dup strings 23067534.1 (±1.8%) i/s -  114813105 in   4.979302s
       clone strings  5617171.9 (±1.6%) i/s -   28206080 in   5.022906s
  create new strings  5840208.4 (±1.1%) i/s -   29184750 in   4.997792s