Port katcp server sampling strategies to use tornado ioloop

- Explicitly pass sensor reading to observer update() methods to prevent lost
  updates due to race conditions.
- Explicitly send value to Sensor observers to prevent value-update
  race-conditions.
- Implement sampling strategies using ioloop rather than SampleReactor.
- Remove SampleReactor and its tests.