BLIP: extended neighbor discovery

This commit adds a first pass at adding router advertisements and router
solicitations to the neighbor discovery module. This allows nodes to use
stateless autoconfiguration to assign their address rather than by using
DHCPv6.

Nodes can send and receive RS and RA messages. If a prefix information
option is attached to the RA message the node can use it as its prefix
for its address.

This commit adds three more BLIP #define configuration settings:

1. `BLIP_ADDR_AUTOCONF`: if `1`, allow the node to set its address
   based on the prefix received from an RA
2. `BLIP_SEND_ROUTER_SOLICITATIONS`: if `1`, directs the node to send
   RS messages in hopes of finding a router.
3. `BLIP_SEND_ROUTER_ADVERTISEMENTS`: if `1`, the node can act as a
   router and respond to router solicitations.

It should be noted that this implementation is far from complete. It
implements only the most basic functionality.
BLIP: remove debug printf
RPL: update to spec, add autoconf

This commit touches most of the RPL stack. It makes two main changes:

1. Update RPL data structures to be spec compliant. There were still a
couple of lingering data structures that didn't match the spec that are
now updated. Also, some of the processing and assumptions about the
content of received messages has been updated to better match the spec.

2. Add the prefix information option. This option extends DIO messages
to allow nodes to perform autoconfiguration with just RPL messages.

This commit adds a new RPL `#define` configuration option:

1. `RPL_ADDR_AUTOCONF`: if `1`, the node will set its address based on a
prefix received from a DIO message.

These changes have been briefly tested to be compatible with the Contiki
implementation of RPL.
BLIP: removed printf and whitespace from 6lowpan
BLIP+RPL: updating /apps

This commit updates the Makefile and cleans up the apps relevant to BLIP
and RPL.

Added: rpl.extra to make it easier to compile apps with RPL.
Merge pull request #256 from lab11/nd-autoconf-pr

Enhancements to the BLIP IPv6 Stack
packaging/tinyos-tools-stable: build against tinyos-release

pull the release tar ball from tinyos-release rather than tinyos-main.
It's the release repository.  Yes the SHAs are the same.

Update documentation to better document where the release tarball comes
from and how the parts are named.
packaging/tinyos-tools-14: create build script for the previous release

The tinyos-tools-14 package supports folks who insist on using the
older (previous) tinyos 2.1 release (2.1.2 etc) rather than switching
to the upcoming tinyos-2.2 release which uses the new tinyos-make v3
build system.

This is prepatory for the 2.2 release while still supporting one previous
release.

When 2.2 starts to be cut, the only tinyos-tools modifications that
need to be made are to tinyos-tools-stable.

Basically copy what is in tinyos-tools-devel with minor changes but
base it on the tarball from the tinyos-2.2 release.
tosthreads: deprecate main files

tosthread files moved to Deprecated/tosthreads at the top level
tosthreads deprecation: remove other references

closes #209
Added return state checking on every i2c interrupt
Fixed i2cpacket command with only an I2C_STOP flag (fix for #122)
disabled voltage and switch sensong on mini 1.x
disabled enum comparsion warning. Enums are widely used in tinyos for configuration, there are some places where they need to be compared for checking the configuration (e.g. rf212 driver)
tools: be much more specific about python versions

This should make sure that there is both a python2 and python3
interpreter on the system (and not just python3).

Fixes my previous commit that used the AM_PATH_PYTHON macro to check for
py2 and py3 which apparently stops at the first python interpreter it
finds, even if it doesn't satisfy the version requirement. Now we only
use that to check for py2 and explicitly look for a python3[.x] binary.