Add repeat support when reading ADC values.

- There is a bug in the ADC driver which allows reads to return stale or
  otherwise incorrect readings.  Though there doesn't appear to be a
  guaranteed minimum count, repeating the read a number of times will
  eventually yeild the correct value.
- Object initializtion now takes a default repeat count, which can
  optionally be overridden in the read() call.