cpu/cc2538 bug fix: OE (output enable) bit was set by gpio_init_in().
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`.
drivers/adc_legacy: add copyright, author
cpu/mc1322x: fix mc1322x-adc.h license
cpu/mc1322x: fix mc1322x-adc.h cpp compatability
core: hwtimer: use disable/restoreIRQ
Merge pull request #1877 from LudwigOrtmann/adc_legacy

ADC legacy
cpu/cc2538: sbrk() checks if the requested memory is really available.
sys:ringbuffer: static inline ringbuffer_init
sys:ringbuffer: use memcpy in ringbuffer_get
Merge pull request #1651 from Kijewski/ringbuffer-use-memcpy

sys:ringbuffer: memcpy and static inline
timex: make functions static inline

This commit makes all one- or two-liners in timex a static inline
function, defined in the header file.
timex: replace print by a to_str function

Instead of printing the timestamp, it's more flexible to convert it into
a string.
timex: update copyrights