rtc: Ensure next is initialized
rtc: Ensure time is valid before scheduling alarms
rtc: Set TAR before enabling interrupt
rtc: Fix rtc_alarm_cancel

Previously the head wasn't considered.
spiflash: Use enum values instead of magic numbers
spi: Add queued flag to spi_ctx_bare

This allows us to ensure that the queue never forms a cycle, e.g. when
the same context is used for multiple transactions. These issues are
very difficult to debug and therefore the small cost of this measure
should be well worthwhile.
Merge pull request #96 from bgamari/master

Various fixes for RTC and SPI