Small fixes to networking files

1. Added #include header
2. Fixed #defines that weren't updated
3. Small change to comment that now points to correct RFC section
Merge pull request #354 from lab11/core-net-fixes

Small fixes to networking files
Added SPI driver for CC2538

This uses the core/dev/spi.h header and implements the spi_init()
function and the various macros for SPI operation. ssi.h contains all of
the register locations and information.

This implementation is not very versatile, mostly because I don't how to
make it flexible in the contiki system. It supports pin muxing for the
four spi pins, but other than that picks sensible defaults.

The SPI macros (like SPI_READ()) are defined in
cpu/cc2538/spi-arch.h. In order to use the SPI driver, add the following
includes to your project:

    #include "spi-arch.h
    #include "dev/spi.h"
Merge pull request #352 from lab11/cc2538-spi-driver

Added SPI driver for CC2538
Check for DAO fwd loop early, before processing DAO options
Define a new ICMPv6 message type for Trickle Multicast

Pending IANA allocation, we currently use private experimentation
New uip_is_addr macros for multicast addresses
Multicast common header files
Multicast routing table manipulation

We store multicast routes in a separate table since we don't need
as much information as we need for normal routes
We now know how to select our source address for outgoing routable multicast datagrams
RPL Multicast group management with MOP 3
Implementation of the SMRF multicast engine
Implementation of the Trickle multicast engine
Include multicast engines in the build
Implement multicast engine hooks in the uIPv6 core

  - init()
  - process incoming multicast datagram
  - Pass ICMPv6 trickle messages to the engine
Multicast README
IPv6 Multicast Example
Multicast compile regression tests