Added free() to destructor to avoid memory leak

Every invocation of Average will currently leak memory when it goes out of scope. I don't know if this is by design to suggest to the user that they should probably use Average in a global scope/startup as I've heard theres some issues using malloc/free on AVR/Arduino?

I've not done any thorough testing of this but it seems to work for me without issue and stops exhaustion of the RAM