adc_queue: Initial commit

This adds an layer on top of the existing ADC interface to manage
queuing of multiple sample requests. This adds a weak symbol to the
low-level ADC interface, adc_calibration_done, which allows users not
using the high-level queuing interface to be notified of completion of
the calibration process initiated by adc_init.
spi: Make an implicit NULL explicit

In the name of clarity
timeout: Guard against multiple uses of single context
Merge pull request #107 from bgamari/adc-queue

adc_queue and miscellaneous