Check against integer overflow in RCTNetworking decodeTextData
Check against integer overflow in RCTNetworking decodeTextData

Summary:
It's currently possible to crash React Native on iOS when using XMLHTTPRequest with onreadystatechange by having the server send a bunch of bad unicode (we found the problem when a bad deploy caused this to happen).

This is due to an integer overflow when handling carryover data in decodeTextData.

Create Express server with mock endpoint:

```js
var express = require('express');
var app = express();

app.get('/', function(req, res) {
  res.writeHead(200, {'content-type': 'text/plain; charset=utf-8'});
  res.flushHeaders();
  res.write(new Buffer(Array(4097).join(0x48).concat(0xC2)));
  res.write(new Buffer([0xA9]));
  res.end();
});

app.listen(3000);
```

Create React Native application which tries to hit the endpoint:

```js
export default class App extends Component<{}> {
  componentDidMount() {
    const xhr = new XMLHttpRequest()
    xhr.open('get', 'http://localhost:3000', true);
    xhr.onreadystatechange = function () {
      if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
        console.warn(xhr.responseText);
      }
    };
    xhr.send();
  }

  render() {
    return null;
  }
}
```

Observe that the application crashes when running master and doesn't when including the changes from this pull request.

[IOS] [BUGFIX] [RCTNetworking] - |Check against integer overflow when parsing response|
Closes https://github.com/facebook/react-native/pull/16286

Differential Revision: D6060975

Pulled By: hramos

fbshipit-source-id: 650e401a3bc033725078ea064f8fbca5441f9db5

janicduplessis/react-native,rickbeerendonk/react-native,hoastoolshop/react-native,ptmt/react-native-macos,dikaiosune/react-native,exponent/react-native,myntra/react-native,pandiaraj44/react-native,arthuralee/react-native,exponentjs/react-native,jevakallio/react-native,myntra/react-native,jevakallio/react-native,kesha-antonov/react-native,facebook/react-native,pandiaraj44/react-native,dikaiosune/react-native,jevakallio/react-native,exponentjs/react-native,facebook/react-native,janicduplessis/react-native,rickbeerendonk/react-native,kesha-antonov/react-native,hammerandchisel/react-native,hoangpham95/react-native,ptmt/react-native-macos,pandiaraj44/react-native,facebook/react-native,myntra/react-native,hammerandchisel/react-native,ptmt/react-native-macos,hoangpham95/react-native,kesha-antonov/react-native,facebook/react-native,javache/react-native,jevakallio/react-native,jevakallio/react-native,jevakallio/react-native,rickbeerendonk/react-native,rickbeerendonk/react-native,exponent/react-native,hoangpham95/react-native,myntra/react-native,dikaiosune/react-native,pandiaraj44/react-native,rickbeerendonk/react-native,Bhullnatik/react-native,janicduplessis/react-native,Bhullnatik/react-native,javache/react-native,rickbeerendonk/react-native,myntra/react-native,kesha-antonov/react-native,dikaiosune/react-native,hoangpham95/react-native,ptmt/react-native-macos,janicduplessis/react-native,myntra/react-native,arthuralee/react-native,myntra/react-native,javache/react-native,ptmt/react-native-macos,exponentjs/react-native,dikaiosune/react-native,exponentjs/react-native,arthuralee/react-native,exponent/react-native,ptmt/react-native-macos,exponentjs/react-native,Bhullnatik/react-native,hoastoolshop/react-native,janicduplessis/react-native,Bhullnatik/react-native,rickbeerendonk/react-native,hoastoolshop/react-native,exponent/react-native,hammerandchisel/react-native,hoangpham95/react-native,dikaiosune/react-native,hammerandchisel/react-native,dikaiosune/react-native,hammerandchisel/react-native,hoastoolshop/react-native,janicduplessis/react-native,kesha-antonov/react-native,facebook/react-native,Bhullnatik/react-native,hoangpham95/react-native,kesha-antonov/react-native,hoastoolshop/react-native,javache/react-native,exponentjs/react-native,kesha-antonov/react-native,exponent/react-native,hoangpham95/react-native,exponentjs/react-native,Bhullnatik/react-native,ptmt/react-native-macos,kesha-antonov/react-native,arthuralee/react-native,exponent/react-native,pandiaraj44/react-native,janicduplessis/react-native,hoastoolshop/react-native,javache/react-native,jevakallio/react-native,hammerandchisel/react-native,dikaiosune/react-native,javache/react-native,rickbeerendonk/react-native,exponent/react-native,kesha-antonov/react-native,rickbeerendonk/react-native,exponent/react-native,pandiaraj44/react-native,Bhullnatik/react-native,Bhullnatik/react-native,hoastoolshop/react-native,hammerandchisel/react-native,facebook/react-native,javache/react-native,jevakallio/react-native,facebook/react-native,facebook/react-native,myntra/react-native,hoastoolshop/react-native,ptmt/react-native-macos,hoangpham95/react-native,janicduplessis/react-native,pandiaraj44/react-native,arthuralee/react-native,myntra/react-native,hammerandchisel/react-native,jevakallio/react-native,facebook/react-native,javache/react-native,javache/react-native,pandiaraj44/react-native,exponentjs/react-native