Make JSON parsing work as a chunked conversion sink.

This allows JSON parsing to work on individual chunks of source instead
of collecting and concatenating all the parts before parsing.

This is made in anticipation of having a UTF-8 version that parses directly
on the input codes, without creating a String first.

R=sgjesse@google.com

Review URL: https://codereview.chromium.org//649113005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41311 260f80e4-7a28-3924-810f-c04153c831b5
Revert "Revert "IR refactoring: reduce duplication related to MayThrow/AllowsCSE.""

This relands commit r41281.

TBR=fschneider@google.com
BUG=

Review URL: https://codereview.chromium.org//681713003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41312 260f80e4-7a28-3924-810f-c04153c831b5