leds: Fix the API

The leds API did not work in some cases. E.g. with the following sequence:
  leds_off(LEDS_ALL);
  leds_toggle(LEDS_GREEN);
  leds_off(LEDS_ALL);
the green LED was remaining on after the last call.

This was caused by the toggle feature made synonymous with the invert feature,
although it is unrelated. leds_toggle() is indeed supposed to toggle an LED,
while leds_invert() is supposed to change the active level of an LED. However,
all users of leds_invert() actually meant leds_toggle(), and the invert feature
does not make sense in this module because it is not handy due to successive
calls to leds_invert() changing the intended behavior, and hardware active
levels should be managed in leds_arch_set() (e.g. by XORing the passed value
with a hardware-specific constant before setting the output levels of the pins).

Consequently, this change:
 - removes the leds_invert() function,
 - makes leds_toggle() behave as expected relatively to leds_off() / leds_on(),
 - sanitizes the code in the leds module.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
leds: Add the leds_set() function

The leds_set() function is added on top of leds_arch_set() in order to have a
means of displaying a pattern on a set of LEDs, while keeping the ENERGEST
information up to date, which would be missing with a direct call to
leds_arch_set().

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Redefine assert if already defined since some platforms already have an assert definition
Use platform configuration for CC2420/CC2520 SFD on MSP430 based platforms
Fixed typo to correctly print the radio channel at startup
CONTIKI_PROJECT is sometimes set to multiple files which caused distclean to fail.
Added method to framer that returns the header length if the framer
would create a header with the current packet information.

This allows sicslowpan to calculate the max payload size without
consuming a sequence number or clearing/restoring the packet buffer.
Changed to use LINKADDR_SIZE instead of sizeof() to select between
short address and long address as some platforms might use padding in
the struct. This fixes #555.
Initialize the rtimer component on native platform's startup.

Otherwise applications that use rtimers die when run as native code because of an unhandled signal.
Make native platform's main loop less noisy.
Explicitly initialize queue buffer in the main startup routine only if uIP is used.

The Rime stack already does this on its own, and there is no need to do it twice.
Fix inconsistent usage of short/long integer type in mbxxx platform's configuration file.

The type used to store rtimer ticks on this platform is 32-bit integer, but the macro uses 16-bit comparison.
As a result, the output of the RTIMER_CLOCK_LT(a,b) macro was incorrect when used for comparisons between time values with sufficiently large difference.
The code to repeat this problem on mbxxx platform:

  rtimer_clock_t a = 6 * RTIMER_ARCH_SECOND;
  rtimer_clock_t b = 0;
  printf("%d\n", RTIMER_CLOCK_LT(a,b)); // expected output: "0", actual: "1"
Set default link ETX to 2
Improve travis RL78 tests

* No longer apt-get install a bunch of packages which are not really needed
* Only install gnurl78 if its download succeeded
Fix incorrect IEEE address byte re-ordering
Merge pull request #703 from sieben/gitignore

Adding tunslip to gitignore
Make the CC2538 secondary IEEE address location configurable
Improve code style
Improve documentation for the CC2538 IEEE address re-ordering
Merge pull request #656 from atiselsts/native_platform_patches

Minor improvements for the native platform