Replace MD5 implementation

Replace the MD5 code with an alternative implementation, better suited
to this codebase.
Remove embedded libyaml & contrib/

Embedded libraries are frowned upon in distributions, are usually a
licensing mess (although this is fairly well documented in this case,
it's still risky in case something comes up there), are a maintenance
hell & a security pain (how to get bugfixes/newer versions).

Remove the embedded libyaml and rely on the system libyaml instead. Add
a loud warning with pointers on ./configure if system libyaml is not
found. README.md could use some improvement in this area and
configure.ac could rely on pkg-config instead, but leave this for future
commits.

Note that the mere presence of the .tar.gz is reason enough for a
package to be accepted by Debian or other distributions, so falling back
to an embedded copy is not really an option (at least for my use case :).

References:
http://www.debian.org/doc/debian-policy/ch-source.html#s-embeddedfiles
https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries