Add USEPKG variable for Makefiles

Currently pkg/USING says one should use
`EXTERNAL+=$(RIOTBASE)/pkg/<pkg_name>` to enable PKG modules.
Using this line the PKG will be compiled but not linked.

This change adds a USEPKG variable to be used like
`USEPKG += <pkg_name>`, which looks less clumsy and gets the PKG linked
in the binary.
Use include path convention for PKGs

Packages have to define a Makefile.include target in pkg/%/Makefile.
pkg/%/Makefile.include will be loaded after all other dependencies.
Apply @authmillenon's patch
Always use absolute paths with configurable paths variables
Merge pull request #688 from authmillenon/absolute-paths

Makefiles: Always use absolute paths with configurable paths variables
added two test cases for issue #100

test_thread_msg_block_w_queue:
	demonstrates the behaviour described in issue #100
	and that it is solved by PR #569

test_thread_msg_block_wo_queue:
	demonstrates behaviour similar to the above but without
	a messge queue. This works with the current master, but
	breaks with PR #569
Merge pull request #691 from Lotterleben/test-569

added two test cases for issue #100
fix test_irq Makefile

closes #696
Merge pull request #699 from LudwigOrtmann/issue_696

fix test_irq Makefile
Do not mandate input language

An application might want to use C11 features. The user would assume
that setting `CFLAGS=-std=gnu11` in the Makefile would work. It does not
since the board's Makefile.include shadows the `-std` flag.

This patch removes the `-std=gnu99` from the various Makefile.includes,
and sets the flag in the common Makefile.include of RIOT instead.
If an `-std` flag was provided by an earlier Makefile (the application,
the board, or the CPU [whilst only the former one should]), then no
additional flag is set. It is first tested if the supplied compiler
understands `-std=gnu99`, then `-std=c99`.
Merge pull request #692 from Kijewski/std-flag

Do not mandate input language
Merge pull request #576 from Kijewski/usepkg

Add USEPKG variable for Makefiles