Implemented Tone/NoTone

Implemented tone, noTone, and tone with duration using SetWaitableTimer. All tone calls are useable across multiple pins simultaneously.
Uses a map to keep track of running tones and Timers if used on those pins.
Also implemented testing scenarios around Tone and noTone
this would need noTone to be static as well and it should not stop a tone if it does not have a timer set up in the map. (Although it should never reach this state unless someone is making their own functions that contend with Tone and NoTone)