Implement md5

In SHA.nativeFinal I note that this conditional block doesn't seem to ever get called but is here for correctness. It might be worth noting that here too.