Add back md5 support

Rust-crypto doesn't seem to have good rustpkg support so I've pulled the
old MD5 implementation from libextra in for now.