bring md5 in, but make it an opaque structure.

making this opaque allows us to fix any bugs in the implementation
or structure without breaking any applications using the library.
add bson_oid_generate()

This has some interesting problems when dealing with overflow of
the increment. Some issues will have to be dealt with so that sequential
oids always compare in lexicographical order.