Stop compiling v1.0 and 1.1 firmware, add 2.1

See ticket #62
[WIP] refactoring of feedback code
Use AdvancedADC library for analog_reads command
Fix typo
Merge branch 'adc' into refactor_fb
Modify to use Timer3 instead of Timer1 for watchdog
Lots of improvements to ADC-related functions

- requires AdvancedADC library >= 0.1.2
- analog_reads() now accepts a pin or list of pins
- add get/set_adc_prescaler() functions
- move get/set_sampling_rate() functions to RemoteObject class
- sampling_rate() is now calculated based on last ADC reading
- set_sampling_rate() now uses timer interrupts to trigger ADC reads
Major refactoring of feedback functionality

* Use AdvancedADC library
* add interleave_samples and rms options
* simplifiy interface and move the FeedbackResults class (and the
  new FeedbackResultsSeries class) to this module (formerly part
  of the dmf_control_board_plugin module)
* Fixes #65 (calibrate analog reference)
Enforce minimum sampling window time for feedback

0.5 waveform periods with interleaved samples, 1 waveform period
without
Measure virtual GND level to remove bias if...

Measure virtual GND level to remove bias if the virtual GND is not
exactly half way between GND and Vcc. Use exponential smoothing of
mean of the signal.
Refactor feedback code to use structs of arrays

Should improve performance and make code more legible
Auto adjust sampling rate and add config setting...

* auto adjust the sampling to reduce bias in rms measurement
  and to avoid frequencies that are subharmonics of the Nyquist
  rate
* add config setting: "use_antialiasing_filter" to switch
  feedback channel between A1 and A2
Merge 'microfluidics.utoronto.ca:/dev' into dev