Blip cleanup

While looking over some details of blip I noticed that it could use a
cleanup pass. Mostly I added comments and reorganized component wiring.
I also deleted unused code and interfaces that were not wired to
anything in tinyos-main.

I did not change any functionality of BLIP.
BLIP no longer starts itself.

The way IPDispatchP was calling its own SplitControl meant that in a top
level app SplitControl.done() would be called twice: once when it was
triggered from IPDispatch and once when the top level app called
SplitControl.start().

Since BLIP provides a SplitControl interface, components that want to
use blip should be able to call start whenever they want and not have
IPDispatch automagically doing it for them.
Improved printf() debugging for blip
Missing #include - BLIP

This works with most blip applications because of the way nesc works,
but I found a case where this needed to be included.
Reconfigure how DHCP works with blip

No more magical #define to use DHCP or a static IP address. Now, to use
DHCP just wire to Dhcp6C in your application. If you want to use a
static IP, wire to StaticIPAddressC in your application.

I changed the name from NoDhcpC to StaticIpAddressC because I hope to
implement SLAAC, and in that case there are two alternatives to a static
IP, and a more descriptive name is needed.
Routing table printing is now well formatted.
Improved pack_address() to better use hdr comp.

RFC6282 allows a node to completely elide the src address of the ipv6
header if the prefix matches the global prefix and the lower 64 bits can
be determined from other parts of the packet. This patch adds that
support by checking to see if the EUI64 that is sent in the 15.4 header
matches the lower 64 bits of the address to be packed.