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.
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.
sys/clock: Autosleep: added `clock_sleep_with_max_duration()` and example AVR implementation.

Contiki support for "automatic" sleep (autosleep) can be easily
implemented with the addition of the CPU-specific function
`clock_sleep_with_max_duration()`. This function must be implemented
in such a way that any interrupts that occur will cause it to exit
immediately after the interrupt is handled. This is normally
implemented by setting a timer to generate an interrupt at the
requested expiration and then putting the microcontroller into
one of its built-in sleep modes. In the main run loop, you then
call then method when you have nothing to do, passing as an
argument the point in time at which you know you will have something
to do. If you are familiar with asynchronous socket IO design
patterns, then you can think of `click_sleep_with_max_duration()`
as a more simple verison of `select()` or `poll()`---except that
the interrupts pretty much handle themselves.

This pattern allows the system to sleep implicitly when it has
nothing to do, while still being responsive to timed events. For the
most part, after you implement it you can forget about it.

The key is, of course, having a reasonable implementation of
`clock_sleep_with_max_duration()` for the platform you are
interested in. I've included some example code for the avr-raven
and avr-ravenusb platforms to show how to use this function
in your main loops, but I don't yet have a reasonable implementation
of this function yet for the AVR CPU---it is just a stub.

This technique is not limited to AVR microcontrollers. Any
microcontroller which implements a sleep mode which can be awoken from
interrupts is a prime candidate for autosleep.
avr/settings: More documentation, bug fixes, refactoring.
Various tweaks to the uip network stack.

Added UIP_CONF_LOOPBACK_INTERFACE.
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/usb/rndis: Large refactoring/cleanup.

Removed a lot of jackdaw-specific stuff and made it more flexible.
avr/radio/rf230bb: Cleanup and add hooks.
cpu/avr: Makefile additions.
avr makefile warning fix.
Move cdc_task and sicslow_ethernet over to ravenusbstick.
Raven USB LED changes.

Adds the following configuration options:

 * I_HATE_BLUE_LEDS
 * JACKDAW_CONF_ALT_LED_SCHEME
Miscellaneous raven/avr changes. (Need to clean this up)
sicslowpan fix
CC253x/SDCC fixes.
cooja: Allow CFLAGS to filter thru