Fix a bug in transient object property assignment and getUTF16Ref

Summary:
The returned `UTF16Ref` from `StringView::getUTF16Ref` can be invalidated by
appending more contents to the same allocator.
This case was encountered in `transientObjectPutErrorMessage`, resulting in
using free'd memory.

Reviewed By: tmikov

Differential Revision: D23034855

fbshipit-source-id: 4c25a5369934bf3bdfc5582385503f4b87de3792