Test that we immediately send back attributesChanged / learnerStateChanged
Test that config/userstate actually changed before sending an event
Moved checking of attributes having changed to sendMessage

Never send the gadget information that they already know
Make sure that we don’t start sending things to the gadget when it’s not listening.

Otherwise we can think the gadget knows something when it doesn’t.
Don’t send events right away when receiving changes.

Fixes #19
Merge pull request #23 from Versal/better-change-events

Better change events