cc2538: spi: Do not call SPI_WAITFOREORx() at end of init

If the SSI has never been used and spi_init() is called, then the SSI receive
FIFO is empty and remains so, so calling SPI_WAITFOREORx() at the end of
spi_init() waits endlessly for SSI_SR.RNE to be set. Hence, this call must be
removed in order to avoid a deadlock.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
cc2538: spi: Include spi-arch.h before dev/spi.h

spi-arch.h configures dev/spi.h, so it must be #included first. Luckily, this
mistake did not have any consequence here, but fix it in order to avoid possible
future issues.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
cc2538: spi: Add format configuration options

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
cc2538: spi: Add enable and disable functions

This makes it possible to reduce the power consumption when the SPI is unused.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Merge pull request #409 from ADVANSEE/cc2538-spi

cc2538: spi: Bug fix and various improvements