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
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