feat(hashlib): varies internal changes

 1. Rename `final` to `finalize`.
 2. Provider functions now return nothing.
 3. New member constant `block_size`.
 4. MD5 hasher for applications which still need it.