Update MD5.cpp

Original has a bug in make_hash; the digest its returns is a stack variable.  If you do d=make_hash then use the stack and then try to deference d, it may be corrupted.  I've changed it to alloc the hash but the caller must subsequently free() it.
deallocation

It may not matter for this example, but if the user tries to copy this code into their sketch and generate multiple MD5s they will have problems.
Merge branch 'example-deallocation' of https://github.com/per1234/ArduinoMD5 into per1234-example-deallocation

Conflicts:
	examples/MD5_Hash/MD5_Hash.ino