Fix debounce

It was pretty much non-operational and the tests
didn't expose it. The tests have been repaired,
as well as the debounce behavior and test stubbing
has been generally improved in the process.
Fix debounce by removing it

I discovered that it makes no sense to debounce
globally. Maybe introduce a debounced variation
of each setter in the future for clients to
choose from. Purposely keeping the previous
commit with it's new tests around debouncing
so we can use it later if we choose to.
Merge pull request #7 from Versal/fix/debounce

Fix debounce