Rewriter: Output RewriteRope contents efficiently

This avoids allocation of temporary std::strings for file contents, instead
writing chunks directly to the output stream.

The old character-based B-tree iterator remains intact for the time being.

llvm-svn: 196119
GitOrigin-RevId: d505d403604a5a253f4dc3adcf1c0fcb343aa62c
2 files changed