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.
Remove overlapped case in CodegenC
Update CHANGELOG
Update CONTRIBUTORS and CHANGELOG
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.
Change treatment of underscore in lambda
Treat as unnamed variables, rather than as patterns
Remove restriction on hole scoping
"it" now refers to the previous value at the REPL
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