Tests: Print stderr of invoked programs.

Makes debugging failing tests much easier.
Tests: Pull function toplevel
Add test for calling parmake with -o
When just passing on to GHC, pass the original arguments.

We accidentally passed the custom parsed ones.

To do this, refactor `getGhcArgs` so that it first removes all
parmake options (in order to preserve the original GHC options),
and then does what it did before.
Main: Remove guessOutputFilename. The final ghc pass accounts for it
Set stderr to line buffering to prevent interleaved ghc output