adc_queue and miscellaneous

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.

In addition there are also two minor patches that I encountered a need
for while debugging the queue.