tests: let license checker check headers, too
make: don't call mkdir -p a lot
make: use $@ and $<
make: call ranlib
make: don't invoke wildcard repeatedly
make: easier to read object targets
sys: remove lib/hashtable.c

Quoting myself:

> The code of sys/lib/hashtable.c is very badly adapted for embedded
> systems. The used primes are huge, and the limit is entirely
> unrealistic. Why do we ship this file?

In #1564 we came to the conclusion that we don't need this code.

Closes #1564.
core: introduce KERNEL_PID_FIRST and KERNEL_PID_LAST
core: let valid PIDs start with 1
make: centralize wget/curl & unzip/7z feature test

With many open PRs that could benefit from loading SDKs when needed,
instead adding vast amounts of code to RIOTs master, this PR provides
the "functions" `$(DOWNLOAD_TO_STDOUT)`, `$(DOWNLOAD_TO_FILE)`, and
`$(UNZIP_HERE)`.

The first "function" takes one argument, the URL from where to download
the content. It is then piped to stdout. To be used e.g. with `tar xz`.

The second "function" taken two arguments, the destination file name,
and the source URL. If the previous invocation was interrupted, then the
download gets continued, if possible.

The last "function" takes one argument, the source ZIP file. The file
gets extracted into the cwd, so best use this "function" with
`cd $(SOME_WHERE) &&`.

The clumsy name `$(UNZIP_HERE)` is taken because the program "unzip"
takes the environment variable `UNZIP` as the source file, even if
another file name was given on the command line. The rationale for that
is that the hackers of "unzip" hate their users. Also they sacrifice
hamsters to Satan.
tests: limit concurrency level

Some Travis CI machines have 32 CPUs. This sets our concurrency level to 33.
Travis CI kills our buildtest for obvious reasons.

This PR limits the concurrency level to 8 on Travis CI.
cpu/sam3x8e: added random number generator driver
boards/arduino-due: enabled RNG driver
test/periph_random: added test for RNG driver
Merge pull request #1572 from Kijewski/issue-1564

sys: remove lib/hashtable.c
Merge pull request #1593 from Kijewski/nproc-max

tests: limit concurrency level
unittests: do not use auto_init
Merge pull request #1294 from haukepetersen/add_arduinodue_rng_driver

cpu: Add random number generator driver for the SAM3X8E
core: clist is a cyclic list
core: clist without explicit thread

Right now the core component `clist` is a generic cyclic doubly-linked list.
In the core it is used in `tcb_t::rq_entry`.
Further it is used `net_if.c`.

This commit removes the member `clist_node_t::data` which stored the
pointer to the `tcb_t` instance of which the clist is already a member.
The needless member added `sizeof (int)` bytes to every instance of
`tcb_t`.

In `net_if.c` the clist was used in a type-punned way, so that the
change won't affect it.