Introduce board blacklists and board whitelists

For some applications it does not make sense to be able to build on all boards (e.g. ``test_cc110x_ng`` in (https://github.com/RIOT-OS/projects/tree/master/test_cc110x_ng)[RIOT-OS/projects]) but it might be confusing if someone actually tries to compile it and the compiler overwhelms them with cryptic error messages.

This PR introduces two new variables into the Makefiles: ``BOARD_BLACKLIST`` and ``BOARD_WHITELIST``.
If ``BOARD_WHITELIST`` is non-empty and ``BOARD`` is not in ``BOARD_WHITELIST`` make will halt with an error. If ``BOARD`` is in ``BOARD_BLACKLIST`` make will also halt with an error.