SI-1264 fsc compiler output should go to stderr, like scalac

This properly sends the compiler output of `scala -e`, scala worksheets,
... to sdterr, just like scalac does.

Before:

$ scala -e 'foo' > /dev/null
$

After:

$ scala -e 'foo' > /dev/null
/tmp/scalacmd8514641341855028538.scala:1: error: not found: value foo
foo
^
one error found
$
SI-5227 make fsc notify its client upon compiler crash

Fsc shoudln't just write to its own stderr when a major compiler crash
happens, it should also send an error to the client (`scala -e` for
example).

Otherwise the client thinks everything went fine (silence == success)
and tries to run something, crashes too, and displays only its own
error, not the original one.
Merge pull request #3943 from gourlaysama/wip/fsc

SI-1264 SI-5227 fsc isn't very good at returning error messages