Add an External Program parser with some tests.

This code allows us to inject test cases directly into feldspar-compiler
without having to coerce feldspar-language to generate the right thing.

The code is not perfect, but it does parse all gold files except divConq3
which uses futures. The current test suite does catch a lot of thinkos, so
it should be possible for others to improve the code without breaking things.
The type reconstruction for divConq3 can be done, but having some potential
extra test coverage seems better than waiting for perfect test coverage
indefinitely.
Move out External Program interface to its own module.
Factor out External Program tests to their own group.
Merge branch 'master' into external-prog

Conflicts:
	tests/RegressionTests.hs
Merge branch 'master' into external-prog

Conflicts:
	tests/RegressionTests.hs
Merge pull request #144 from pjonsson/external-prog

Add an External Program parser with some tests.