Possible fix for Issue #1441

Updated Mix.Tasks.Compile.* to generate a CompileError exception if compilation fails. Had to munge some of the existing test cases to catch the exception, which prevented verification of the compiler error message. Not sure that's entirely acceptable.

Most of the commits are additional test fixtures to verify failure of the different compilers.