Make sure that noTone cancels the tone timer

Note the failing test.  this.clock.tick() doesn’t work for us here
because Piezo uses nanotimer.  I can’t figure out how to progress the
clock to make the test pass.
reworking the test so that the nanotimer can fire and we can test that tones get destroyed
Make sure that existing timers get cleared when new tones are played
Creating a frequency function so that we can use the piezo with note frequencies

When someone wants to play the note A, it is common for them to use the
frequency (440) instead of the obscure duty cycle (1136).  This gives a
convenience function to achieve that.
Merge branch 'master' into piezo-improvements

Conflicts:
	lib/piezo.js
	test/piezo.js
Fixing merge problem