Bug 928340 - nsIAsyncStreamCopier2 and implementation. r=mayhemer
Bug 928340 - Using nsIAsyncStreamCopier2 instead of nsIAsyncStreamCopier in NetUtil.asyncCopy. r=mayhemer
Bug 928340 - Tests for nsIAsyncStreamCopier2. r=mayhemer
Bug 991791 - Fix some timing-dependent edge cases in nsMemoryReporterManager child handling. r=njn

The patch for bug 946407 changed the state space of
nsMemoryReporterManager in a subtle way: if we're using
MinimizeMemoryUsage with our report, then it's possible for all of
the child processes to finish (or for the timeout to expire) before
the parent has started reporting on itself.  This could cause us to
dereference a null pointer to the state struct in StartGettingReports().

To fix this, we keep track of whether the parent has actually done its
report, and defer finishing the report until then.