SharedByValue::ReadOnlyReference now allows copying (and use that to fix String::SubString optimization