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.