cpu/cc2538 bug fix: OE (output enable) bit was set by gpio_init_in().
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`.
core: hwtimer: use disable/restoreIRQ
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
timex: remove redundant struct timex_t declaration

timex_t is available as a typedef, declaring it as `struct timex_t` in
addition is not necessary.
Merge pull request #1886 from locicontrols/cc2538-sbrk

cpu/cc2538: sbrk() checks if the requested memory is really available.
make: fix make targets buildtest and info-boards-supported

Fixes issues with the make targets buildtest and info-boards-supported
on OS X hosts. Comments and recommentations to simplify and beautify
would be appreciated.
Merge pull request #1883 from kaspar030/hwtimer_new_irq_api

core: hwtimer: use disable/restoreIRQ
drivers - cc110x: rename cc110x to cc110x_legacy_csma
drivers - cc110x_legacy_csma: add missing license
Merge pull request #1879 from Kijewski/issue-1876

make: fix `FEATURES_REQUIRED` and `FEATURES_PROVIDED` a bit
Merge pull request #1894 from thomaseichinger/buildtest_fix

make: fix make targets buildtest and info-boards-supported