implementations of several sha2 functions using md_defn
changed "hash definitions" to "hash descriptors", better name
added md5 to generic hash interface
cleaned up some unpacking code in md5
changed "MD_DEFN" to "DEFINE_MD", better name