Unescape JSON string token before transcoding to UTF-16 and returning to the user. (dotnet/corefx#34636)
* Unescape JSON string token before transcoding to UTF-16 and returning to
the user.
* Handle escaping and transcoding surrogate pairs correctly.
* Fix unescaping forward slash.
* Add a double high surrogate test.
* Factor out common helpers between the reader and writer.
* Fix exception messages.
* Fix build issues related to source package.
* Add comments regarding Debug.Asserts and fix InRange impl.
* Dont throw DecoderFallBackException and add invalid utf-8 string tests.
* Wrap the DecoderfallbackException within the InvalidOperationException.
Commit migrated from https://github.com/dotnet/corefx/commit/
38e5e28646687da306ad1f3e3fc9876e67e031bb