added md5 implementation straight port from c

first iteration of Md5 implementation. This is an almost verbatim port of the [c version on wikipedia](https://en.wikipedia.org/wiki/MD5#Simple_implementation).
The idea is to make it more idiomatic Rust in future iterations, but please add comments to this implementations if you wish, and I'll try to incorporate them now.
you're right. I wrote it like I would have in a functional language but this particular case does not look very good in Rust...