Reworked the functional tests

Should now be easier to add enw functional tests. Functional tests are now found
in tests/functional/. To add a test, look at functional.py. All tests will be
run when tests/run-tests.py is called. For now, this test just runs the
functional tests (as unit tests aren't ready yet).

We'll need to add something for the required stutest.out portion of the base
Makefile. We'll probably just use something like:

stutest.out:
	./compiler sample.ibtl > stutest.out