Bug 893222 - Part 0: Make JSRope::getCharsNonDestructiveInternal work with a null tcx. r=bhackett
Bug 893222 - Part 1: Add a new PutEscapedString implementation, which takes a raw jschar*. r=njn
Bug 893222 - Part 2: Fix escaping for huge strings displayed in about:memory. r=njn

We were escaping "/" to "\/", but about:memory expects us to escape "/" to "\".

Escaping "/" to "\/" is probably quite sensible, since then we can represent strings which have both "\" and "/".  But that's a bigger change.
Bug 893222 - Part 3: Modify the JS memory reporter to consider a string as "notable" if we have many small copies of it. r=njn
Bug 893222 - Part 4: Tests. r=njn
Bug 899256 - Rework JS memory reporters so gc-heap is no longer a top-level node. r=njn
Bug 899256 - Part 2: Change XPCJSRuntime.cpp's REPORT_BYTES so it doesn't require "nsIMemoryReporter::". r=me