Fixed fail to build from source due to a bad "&nbr->lladdr" reference
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
Fixed a typo in net/uipopt.h
1. Added a missing '&' in lib/trickle-timer.h
2. Removed executable permissions of lib/trickle-timer.c & .h
Updates CC2538 GPIO

1. Fixes two of the comments to GPIO macros. They were copied but not
updated.
2. Adds SET and CLR macros for controlling GPIO pins.
Add conf checks to CC2538dk conf file

Allows for specific apps to control more settings of the platform.
Merge pull request #355 from lab11/cc2538dk-conf-defines

Add conf checks to CC2538dk conf file
Merge pull request #353 from lab11/cc2538-gpio

Updates to CC2538 GPIO
Optimized CS8900A driver for speed and size.

- Speed: The primary byte copy loops are reduzed to the bare minimum by adjusting the base pointer 'ptr' and loop register 'y' in such a way that the 'y' overflow matches the low byte of the loop size.

- Size: Factored out all repeated code into subroutines. Introduced a loop for setting the MAC address.

Additional minor changes:

- Activate frame reception as last step of initialization after CS8900A configuration.

- Properly set internal address bits used by the CS8900A.
- Optimized LAN91C96 driver for speed and size.

- Speed: The primary byte copy loops are reduzed to the bare minimum by adjusting the base pointer 'ptr' and loop register 'y' in such a way that the 'y' overflow matches the low byte of the loop size.

- Introduced a loop for setting the MAC address.

Additional minor fix:

- Properly start self modification with first location.
Merge pull request #358 from oliverschmidt/master

Optimized 6502 Ethernet drivers.
Merge pull request #342 from zwuh/patch-trickle-lib

Typo and file mode fix for Trickle library, typo fix in uipopt.h
Merge pull request #341 from ismb-pert/fix-lladdr

Fixed fail to build from source due to a bad &nbr->lladdr
Add a way to determine whether a trickle timer is running
Only schedule a trickle interval doubling for running timers
Cleaned up various fragments and fixed a compilation error that occured when switching metric container.

Fixed a wrapping problem in the ETX EWMA calculation.

Corrected the multiplier of the link metric, and simplified the configuration
so that the user does not need to specify the multiplier.
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
Use TRICKLE_TIMER_IS_STOPPED in trickle_timer_stop()