Add RIPEMD160 implementation

Information about RIPEMD160 is at http://homes.esat.kuleuven.be/~bosselae/ripemd160.html and in the commit message. This hash is used extensively by Bitcoin.
(nit: typo here and line 264)