Add RIPEMD160 implementation

There are a few other hashes in the RIPEMD family that are not
implemented because they aren't useful:

  1. RIPEMD128 has 128 bits of output, and therefore can probably
     be birthday attacked with a home PC.

  2. RIPEMD256 and RIPEMD320 have the same security as RIPEMD160
     (they are constructed by running two RIPEMD128 (RIPEMD160,
     respectively) lines with different IVs in parallel then
     merging).

     That, and the fact that I'm not personally aware of anyone
     using these hashes, mean that they get the boot. :)

References:
  http://homes.esat.kuleuven.be/~bosselae/ripemd160.html
cleanup
documentation
typo
more typos
Merge pull request #1 from andrewclarkson/ripemd160

A little cleanup and documentation
Merge pull request #96 from apoelstra/ripemd160

Add RIPEMD160 implementation