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.
This whole expression can be replaced by something like

```
for input in inputs.iter() {
    println!("{}", md5(&input))
}
```