First attempt to capture parser/translation errors in browser.

Adds a notion of an (optional) error stream to the existing
log and emit streams. If not specified, the log stream is used.
Error messages in parser/translation are sent to this new error
stream.

In the browser compiler server, a separate error (string) stream is
created to capture errors. Method onEndCallBack returns the contents
of the error stream (if non-empty) instead of a generic error message.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=4138
R=jvoung@chromium.org

Review URL: https://codereview.chromium.org/1052833003
diff --git a/unittest/BitcodeMunge.cpp b/unittest/BitcodeMunge.cpp
index 689279e..d258343 100644
--- a/unittest/BitcodeMunge.cpp
+++ b/unittest/BitcodeMunge.cpp
@@ -38,7 +38,7 @@
                                             size_t MungeSize) {
   const bool AddHeader = true;
   setupTest(TestName, Munges, MungeSize, AddHeader);
-  Ice::GlobalContext Ctx(DumpStream, DumpStream, nullptr, Flags);
+  Ice::GlobalContext Ctx(DumpStream, DumpStream, DumpStream, nullptr, Flags);
   Ice::PNaClTranslator Translator(&Ctx);
   Translator.translateBuffer(TestName, MungedInput.get());