tests: Run (no of cores +4) tests in parallel

If available `make check` uses GNU parallel to run tests in parallel.  By
default it will run (no of cores) tasks in parallel.  This commit boosts
this number by 4 as on Travis we only have a single core to play with, but
our tests aren't CPU bound so we can further parallelize and further
reduce test run time.

On @drothlis's dual-core laptop the time is reduced from 2m to 1m30s and
on my 4 core laptop it is reduced from 1m2s to 51s.
tests: Fix race between test_stbt_batch_run_killtree and test_killtree

When run in parallel, e.g. with GNU parallel as a part of `make check`
`test_stbt_batch_run_killtree` and `test_killtree` can fail.  You can
reproduce this with

    printf 'test_stbt_batch_run_killtree\ntest_killtree' \
        | parallel ./tests/run-tests.sh -i

The race exists because the `test_stbt_batch_run_killtree` is actually
calling `test_killtree` which in turn tests that it has killed all the
processes that it started up by `grep`ing `ps` output for the program
name - which is the shared by both tests.

This commit fixes this race by naming the program names according to the
pid of the test process (which is the root of the process tree that it's
checking that it's killed).

This race has existed since cb9cb71f5 but we only started seeing it now as
we are trying to get Travis to run the tests in parallel.
Travis: Install GNU parallel to speed up tests

Debian (and by extension Ubuntu) systems have two packages that provide
the command `/usr/bin/parallel`: moreutils and parallel.  Unfortunately
they do not have compatible syntax.  stb-tester depends on moreutils so
we have to install that package.  With GNU parallel (provided by the
Debian package "parallel") we can parallelize the tests we run and so
make them faster.

With this commit we build and install GNU parallel as a part of Travis
commands to allow us to use GNU parallel on Travis' Ubuntu 12.04 and
thus accelerate the testing process.