platform/minimal-net: Implement better idle behavior.

The minimal-net target, as currently written, wakes up the
CPU every millisecond to check for packets, and will only
react in real-time to input from stdin. If you are running
this on a laptop battery, your battery will quickly drain.

This change allows the CPU to idle when there is literally
nothing to do while still being responsive to input from
stein and/or incoming packets. This fix should signficantly
improve performance while significantly improving power
usage. Win-win.

Also added `_xassert()` implementation so that the contiki-
provided `assert()` macro will work properly when used
on this platform.
platform/minimal-net: Better, more seamless support for OS X.

This patch enables automatic route setup and cleanup when
starting and stopping the minimal-net target on OS X.

Both IPv4 and IPv6 are supported.

Using the minimal-net target on OS X was absolute hell
before I came up with this patch. Now it is painless.
platform/minimal-net: Print out pseudo LED status.
avr/bootloader.c: Now compatible with bootloaders which always run first.

The boot loader now knows when to go into bootstrap mode by looking for a specific EEPROM value.
avr/radio/rf230bb: Cleanup and add hooks.

Removes references to the old rf230 code, which isn't being used
anymore.
avr/usb/rndis: Large refactoring/cleanup.

Removed a lot of jackdaw-specific stuff and made it more flexible.
cpu/avr: Makefile additions and fixes.

cpu/avr: Makefile fix for generating HEX files.

cpu/avr: Added "AVRDUDE_MCU" configuration parameter.
core/net/uip: Rename `uip_ethaddr` to `uip_lladdr`.

There isn't really a good reason I can think of for these
to be different between IPv4 and IPv6.

squash! core/net/uip: Rename `uip_ethaddr` to `uip_lladdr`.
avr/settings: More documentation, bug fixes, refactoring.
core/net/uip-ds6: Make `uip_ds6_maddr_add()` and `uip_ds6_maddr_lookup()` const-correct.
core/net/resolv: IPv6 support and improved API. MDNS responder and resolver support.

This patch updates the DNS resolver to support IPv6 and introduces
an improved API for looking up DNS entries.

This patch also adds optional suport for MDNS lookups and responses
to the DNS resolver.

--------------------

core/net/resolv: Switch default IPv6 DNS to use Google's Public DNS.

This was previously using HE's public DNS, but now that
Google has IPv6 support for their public DNS it seems
appropriate to use them as the default.

Note that this default only makes sense if the node has
access to the IPv6 internet. Nodes should provide a way
to change (or auto detect) the appropriate DNS server
in such cases.

--------------------

core/net/resolv: Update to contiki coding style guidelines.
cpu/native: Added fake eeprom device to native target.

This is useful for testing code which uses the EEPROM without running
the code on the actual hardware.
core/lib/settings: Generalized settings to work on any target that supports the EEPROM interface.
core/lib/settings: Cleanup to adhere to Contiki code style guidelines.
Removed unused `platform/native/dev/eeprom.c`.

This has been replaced by the pseudo EEPROM implementation
in `cpu/native/dev/eeprom.c`. I'm removing it because it is
conflicting with the new implementation.

It looks like this one hasn't been used in a while, because
`node.h` doesn't seem to be anywhere in Contiki anymore.
core/net/sicslowmac: Added support for "bridge mode".

Enabled via setting SICSLOWMAC_CONF_BRIDGE_MODE to 1.
Various tweaks to the uip network stack.
core/lib/settings: Fixed an error in preprocessing logic
Merge branches 'native-target-osx', 'avr-updates', 'settings', 'mdns-resolv' and 'uip-updates'
core/lib/settings: Removed reference to `settings_debug_dump()`