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.