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.
I don't think you need to specify the type `: [u8,..16]` here; the compiler should be able to figure it out.