cpu/stm32f0: fixed hardfault indication
cpu/stm32f1: fix i2c master read for N>2 bytes

This fixes reading more than 2 bytes from the slave device.
In the current implementation the last byte was not read from
data register and the termination sequence buggy.
cpu/stm32f1: fix i2c read for N=2 bytes
Added a function for the slave to print received data.
cpu/cc2538 bug fix: OE (output enable) bit was set by gpio_init_in().
doc: make peripheral interfaces modules

also remove `@file` parameters
Merge pull request #1875 from LudwigOrtmann/doxygen-periph-modules

doc: make peripheral interfaces modules
doc: mark legacy adc API as deprecated
drivers: mark adc.h as legacy
cpu: use adc_legacy.h where appropriate
cpu/mc1322x: rename adc header to mc1322x-adc
make: Implement optional features

Fixes #1876

This PR introduces `FEATURES_OPTIONAL` which can be used to tell the
Make system, that the application would like to use some feature, but
the build should proceed even if the selected board cannot provide the
optional feature.

`make buildtest` and `make info-supported-boards` heed this variable
when examining the list of supported boards.

If a word is present in `FEATURES_REQUIRED` and `FEATURES_OPTIONAL`,
then `FEATURES_OPTIONAL` takes precedence.
make: expose used features with `-DFEATURE_ABC`

All used feature requests (both in `FEATURES_REQUIRED` and
`FEATURES_OPTIONAL`) that could be satisfied get exposed to C with
`-DFEATURE_ABC`.
make: allow drivers to implement features

This change allows drivers (or any module for that matter) to provide
features. This is e.g. useful if a board does not have a transceiver,
but your application uses `USEMODULE += some_driver`, which implements
the transceiver interface.

The line `FEATURES_PROVIDED += some_feature` should go to the guarded
block in `{sys,drivers}/Makefile.include`.
boards, sys: purge feuerware_radios

* `feuerware_radios` is unused, remove from `radio.h` header
* FEUERWARE_CONF_NUM_RADIOS is superfluous without it, remove all occurrences
core,sys: fix storage types for irq API usage

* should not have any effect as long as `unsigned` and `int` are compatible
* also fix two cosmetic `unsigned int` -> `unsigned` for consistency
drivers/adc_legacy: add copyright, author
cpu/mc1322x: fix mc1322x-adc.h license
cpu/mc1322x: fix mc1322x-adc.h cpp compatability
Merge pull request #1882 from LudwigOrtmann/disableIRQ-type

core,sys: fix storage types for irq API usage