atmega_common: add ENOTSUP and ECANCELED to errno.h
cpu/stm32f1: fixed gpio driver

- changed #ifdef to #if for device filter
- guarded file in case no GPIO device is defined
- added guards around interrupts
drivers: Provide basic interface for all network devices
tests: Add functionality test for netdev_base
Merge pull request #1752 from haukepetersen/fix_stm32f1_gpio

cpu/stm32f1: fixed gpio driver
Merge pull request #1492 from authmillenon/net-dev-base

drivers: Introduce a general interface for network device drivers
tests: fix netdev test
Merge pull request #1761 from authmillenon/netdev-fix

tests: fix netdev test
cpu/stm32f0: removed leftovers from slave mode
Merge pull request #1713 from haukepetersen/fix_stm32f0_spi

cpu/stm32f0: removed leftovers from slave mode
Notify about dropped packets

Added debug output that warns about packets that are dropped
because the transceiver buffer was full or because the transceiver
failed to notify aiting upper layers.
Merge pull request #1755 from Lotterleben/transceiver_debug_clean

transceiver: notify about dropped packets
board/iot-lab_M3: fixed default terminal device
Merge pull request #1760 from haukepetersen/fix_iotlab_term

board/iot-lab_M3: fixed default terminal device
redbee-econotag: don't print noisy warning
make: Centralize color use
make: add Makefile.features telling the BOARDs' features

Please see #1715.
Closes #1715.

This PR implements the new Makefile variables "FEATURES_PROVIDED" and
"FEATURES_REQUIRED". A board *can* have a new file `Makefile.features`
which looks like:

```make
FEATURES_PROVIDED = transceiver
```

An application can have a corresponding line

```make
FEATURES_REQUIRED = transceiver
```

If the selected BOARD does not fulfil the requirements of the
application, then a *warning* is issued at compile time.

This change only includes the feature "transceiver", further features
are expected to be listed in further PRs. The requirement "transceiver"
is automatically added if the application uses the module
"defaulttransceiver".

`make buildtest` understands the new feature listing, so the user won't
need to add boards to `BOARD_BLACKLIST` manually.

Part of the change are the added Make targets
* `info-features-missing`, which prints the required features
  `\setminus` the provided features. The output is empty if there are no
  features missing.
* `info-boards-features-missing`, the same as `info-features-missing`
  but as a table for all boards, but heeded `BOARD_WHITELIST` and
  `BOARD_BLACKLIST`.

Applications don't have to use this new feature. This change does not
break existing Makefile.
Merge pull request #1734 from Kijewski/issue-1715

make: add Makefile.features telling the BOARDs' features
make: add gpio feature
tests/driver_pir: set default GPIO