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
Merge pull request #1765 from LudwigOrtmann/feature_gpio

make: add gpio feature
Fix oonf_api after destiny to socket_base migration

The include path provided for socket.h did not exist.
Merge pull request #1766 from Lotterleben/oonf_transport_layer

Fix oonf_api after destiny to socket_base migration
examples/default: set src addr correctly
examples/default: fix handling of 802.15.4 devices
shell/transceiver: fix byte selection for 802.15.4 devices in output
sys/transceiver: cleanup and fix for cc2420 and at86rf231

cc2420: the payload pointer was set twice
at86rf231: payload_len was not copied from the radio driver buffer
Merge pull request #1674 from thomaseichinger/default_fix

examples/default:sys/transceiver: fix for 802.15.4 radio devices
Add the AODVv2 Routing Protocol

This PR depends on #1766.

It contains a minimal implementation of the AODVv2 routing protocol.
*Not* implemented are:

	- AckReqs
	- alternate metrics
	- multiple interfaces
	- clients and Client Networks
	- buffering
	- all addresses, TLVs, and features that are marked as optional

An example application can be found at https://github.com/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo.

The implementation relies heavily on a functioning Neighbor Discovery Protocol.
It might be necessary to fill the neighbor cache manually with the current state
of RIOTs NDP implementation.

The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to
future improvement.

Please note that based on my experience, with the default transceiver
buffer size (3) of the native port, about 2/3 of the route discoveries
will fail. This has been addressed in issue #1747. It is advised to increase
the transceiver buffer size when using AODVv2 as a routing protocol.