Allow tests to be parallelized

Running `make -j16 test` now runs tests in batches of 16.  This takes 1m
(real) (6m user), whereas `make -j1 test` takes about 5 minutes (both
real and user).  There is a bit of funniness with cancelling `make -j16
test`; I get a bunch of directory/file not found errors.  I'm not sure
why.

I've changed the test printing format a bit; make, unlike, say, the
ninja buildsystem, interleaves outputs rather than buffering them.  I
chose to make sure that the perl script printed entire lines at one,
resulting in output like
```
Running test004...
Ran test004...success
Running test005...
Ran test005...success
Running test006...
Ran test006...success
Running test007...
```
rather than
```
Running test004...success
Running test005...success
Running test006...success
Running test007...
```
with the `success` appearing some time after the `Running testNNN...`
message.
Take CFLAGS from environment in Makefiles
Make .travis.yml repository-independent
Treat Int as unsigned in C codegen when zero-extending to Integer

This brings behavior into line with zext to fixed width integers and zext in the LLVM codegen, and ensures that cases where an Int wraps a size_t lose a minimum of information.
Support signed integer comparison by introducing new primitives
Set java-rts version to a fixed working one and update shade plugin version dependency
Reactivate Java test, since new rts version is published
Merge branch 'IndependentJavaRTSVersion' into SignedIntegerComparison
Push java RTS version to the first one including signed comparisons
Some implementation paper adjustments
Fix missing cases in 'tldeclared' to allow class/instance in parameter blocks
Fixes #436
Fix parsing of indented blocks
If there is no indentation, the block should be considered empty. This
means empty parameters or using blocks are no longer allowed, which was
always the intention, and empty data/instance/class declarations are
allowed without needing an explicit {}.
Fixes #437
Merge pull request #432 from Ralith/cflags

Take CFLAGS from environment in Makefiles
Merge pull request #433 from Ralith/zext-inputs-are-unsigned

Treat Int as unsigned in C codegen when zero-extending to Integer
Merge pull request #434 from JanBessai/IndependentJavaRTSVersion

Independent java rts version
Merge pull request #435 from JanBessai/SignedIntegerComparison

Signed integer comparison
Merge pull request #429 from JasonGross/parallel-tests

Allow tests to be parallelized
Add flags for gcc to treat signed ints in a predictable way
add Foldable
make List use Foldable